1:循环输入五个人姓名(二维数组),计算最大值
4 int main(int argc, const char *argv[])
5 {
6 char str[5][20]={};
7 printf("please enter 5 name:\n");
8 for(int i=0;i<5;i++)
9 {
10 scanf("%s",str[i]);
11 }
12 for(int i=0;i<5;i++)
13 {
14 printf("str[%d]=%s\n",i,str[i]);
15 }
16 char max[20];
17 strcpy(max,str[0]);
18 for(int i=0;i<5;i++)
19 {
20 if(strcmp(max,str[i])<0)
21 {
22 strcpy(max,str[i]);
23 }
24 }
25 printf("max=%s\n",max);
26 return 0;
27 }
运行结果:
2: 在主函数中定义字符串数组并初始化,自定有参有返函数,计算字符串长度,并返回长度
4 int len_fun(char str[])
5 {
6 int i=0;
7 while(str[i]!='\0')
8 {
9 i++;
10 }
11 return i;
12 }
13 int main(int argc, const char *argv[])
14 {
15 //在主函数中定义字符串数组并初始化,自定有参有返函数,
16 //计算字符串长度,并返回长度
17 char str[20]="hello";
18 int n=len_fun(str);
19 printf("len=%d\n",n);
20 return 0;
21 }
运行结果:
3:在主函数中定义两个字符串并初始化,定义有参无返函数,实现字符串连接
4 void strcat_fun(char dest[],char src[])
5 {
6 int i=0;
7 while(dest[i]!='\0')
8 {
9 i++;
10 }
11 int j=0;
12 for(j=0;src[j]!='\0';j++)
13 {
14 dest[i++]=src[j];
15 }
16 dest[i]='\0';
17 puts(dest);
18 }
19 int main(int argc, const char *argv[])
20 {
21 //在主函数中定义两个字符串并初始化,定义有参无返函数,实现字符串连接
22 char dest[20]="hqyj";
23 char src[20]="2024";
24
25 strcat_fun(dest,src);
26
27 return 0;
28 }
运行结果:
4:在主函数中定义两个字符串并初始化,定义有参有返函数,实现字符串比较,返回两个字符串ASCII值的差
4 int strcmp_fun(char a[],char b[])
5 {
6 int i=0;
7 while(a[i]==b[i])
8 {
9 if(a[i]='\0')
10 {
11 break;
12 }
13 i++;
14
15 }
16 //printf("%d\n",i);
17 int sub=a[i]-b[i];
18 return sub;
19 }
20 int main(int argc, const char *argv[])
21 {
22 //4.在主函数中定义两个字符串并初始化,定义有参有返函数,
23 //实现字符串比较,返回两个字符串ASCII值的差
24 char a[20]="hello";
25 char b[20]="hellO";
26 int n=strcmp_fun(a,b);
27 printf("sub=%d\n",n);
28 if(n>0)
29 puts("a>b");
30 if(n==0)
31 puts("a=b");
32 if(n<0)
33 puts("a<b");
34
35 return 0;
36 }
运行结果:
思维导图: