字符数组&字符串 函数&题 strlen 字符数组长度 strcat 字符数组拼接 ❌ strcpy 字符数组复制 ❌ strstr/strchr 字符数组查找 ❌ strcmp 字符数组比较 ❌ size 字符串长度 length 字符串长度 append 字符串连接 ❌ compare 字符串比较 ❌ substr 字符串截取 ❌ find 字符串查找 c_str 字符串转字符数组 ❌ 2048 #include <iostream> #include <algorithm> #include <string> using namespace std; int main() { int n; cin>>n; string a[100]; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n-1;i++){ for(j=0;j<n-1-i;j++){ if(a[j]>a[j+1]){ swap(a[j],a[j+1]); } } } for(int i=0;i<n;i++){ cout<<a[i]<<endl; } return 0; } 自定义函数&递归 函数类型 函数名称(参数){ 函数体 返回值 } 判断质数的函数 函数的目的:判断一个整数是否是质数 是否:决定了函数的类型是bool 一个整数:确定了函数参数 返回值:与函数类型对应 bool iszhishu(int a){ if(a<2) return false; for(int i=2;i<=sqrt(a);i++) if(a%i==0) return false; return true; } 全局变量:与主函数同一级的变量,可以在任意函数中使用 局部变量:在函数或者结构里的变量,在外部无法使用 形式参数(形参):创建函数时的参数,没有具体的值 实际参数(实参):调用(使用)函数时传入的参数,可以是值,可以是表达式,也可以是其他变量 值传递:将数据传递到函数中,使用数据 引用传递:将地址传递到函数中,使用地址操作数据 //值传递 void swap1(int a,int b){ int t=a; a=b; b=t; } int main(){ int a=5,b=7; swap1(a,b); cout<<a<<" "<<b<<endl;//5 7 } //引用传递 void swap2(int &a,int &b){ int t=a; a=b; b=t; } int main(){ int a=5,b=7; swap2(a,b); cout<<a<<" "<<b<<endl;//7 5 } 递归函数:在函数中调用自己 递归求最大公约数 求两个整数的最大公约数(最大公因数) 返回值 一个整数 参数 两个整数 int gcd(int a,int b){ if(a%b==0) return b; else return gcd(b,a%b); } int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b); } 1、a%b=? 2、a=b 3、b=? 原理:辗转相除法 用被除数除以除数得到商和余数 将除数设为被除数,余数设为除数,再进行计算 直到余数为零,那么除数就是最大公约数 前面的作业补完: 1、字符数组&字符串里面的函数名对应含义 2、字符数组章节的题目 3、背写判断质数的函数和求最大公约数的函数 (责任编辑:admin) |