using namespace std; int sushu(int n); int main() {
int t; cin>>t; while(t--) {
int n,a; cin>>n; a=sushu(n); if(a==1)
cout<<\ else
cout<<\ } }
int sushu(int n) {
int i;
for(i=2;i return 1; } ======================================================================================================================= 节 1.21 连接字符串 #include void connect(char a[30],char b[30]); int main() { char a[30],b[30]; cin>>a>>b; connect(a,b); } void connect(char a[30],char b[30]) { } int i,j; for(i=0;;i++) if(a[i]=='\\0') break; for(j=0;a[j]!='\\0';j++,i++) a[i]=b[j]; a[i]='\\0'; i=0; while(a[i]!='\\0') { cout< ======================================================================================================================= 节 1.22 字符统计(函数,由实参传递字符串)(字符串=字符数组) #include char a[100]; gets(a); zifu(a); } void zifu(char a[]) { int k=0,m=0,c=0,d=0; for(int i=0;a[i]!='\\0';i++) { if(isdigit(a[i])) k++; else if(isalpha(a[i])) m++; else if(a[i]==' ') c++; else d++; } cout< ======================================================================================================================= 节 1.23 求最大公约数与最小公倍数 题目描述 写两个函数,分别求两个正整数的最大公约数和最小公倍数,在主函数中调用这两个函数,并输出结果。两个正整数由键盘输入。 输入 测试数据的组数n 第一组测试数据 第二组测试数据 ..... 第n组测试数据 输出 第一组测试数据的最大公约数 第一组测试数据的最小公倍数 第二组测试数据的最大公约数 第二组测试数据的最小公倍数 ...... 第n组测试数据的最大公约数 第n组测试数据的最小公倍数 #include int yue(int m,int n) { int r=m%n; while(r!=0) { m=n; n=r; r=m%n; } return n; } int bei(int m,int n) { int i,a; a=m>n?m:n; for(i=a;;i++) if(i%m==0 && i%n==0) return i; } ======================================================================================================================= 节 1.24 截取字符串 题目描述 编写一个函数int substr(char str1[],char str2[],int index),其作用是,将从字符串str1 (长度超过30) 的第index个字符开始的所有字符复制,生成新的字符串str2,如果成功生成,函数返回1,如果不能成功生成,返回0 输入 测试数据的组数n 第一组数据 第二组数据 ........ 输出 成功生成就输出子串,不成功生成,输出\ 样例输入 3 Zhenshen University 9 www.szu.edu.cn 12 apple 8 样例输出 University cn IndexError #include void substr(char a[30],char b[30],int n); int main() { int t,n; char a[30],b[30]; cin>>t; while(t--) { getchar(); gets(a); cin>>n; substr(a,b,n); } } void substr(char a[30],char b[30],int n) { int i,j,l; l=strlen(a); if(n<0 || n>l) {cout<<\ for(j=0,i=n;a[i]!='\\0';i++,j++) b[j]=a[i]; b[j]='\\0'; for(i=0;b[i]!='\\0';i++) cout< ======================================================================================================================= 节 1.25 用函数i将数字转换成字符串,再比较 Description 编写一递归函数IntToStr,将一个十进制的正整数n转换成字符串,例如输入123,递归函数 IntToStr负责将123转换为字符串“123”,在main函数中将该字符串与用户输入的字符串比较,如果大于输入的字符串,输出bigger,如果与输入字符串相同,输出equal,否则输出smaller。 n的位数不确定,位数不超过20位。(不能使用itoa函数) Input 测试数据的组数 t 第一组数据的正整数 第一组数据的字符串 第二组数据的正整数 第二组数据的字符串 ......... Output 比较的结果 Sample Input 3 123 12a 1234567 1234567 123456789 12 Sample Output smaller equal bigger