从键盘输入10个字符串存放到一个二维数组中,求出其中最大者并输出
算法设计如下:
1.定义一个二维数组a[10][80]用于存放输入的10个字符串
2.定义一个维字符数组max[80]用于存放目前的最大字符串
3.将二维数组a的第0行中的字符串复制到max中
4.若二维数组a的第i行的字符串大于字符数组max中的字符串,则将前者复制到max数组中
5.循环执行4,直到a中的所有字符串都比较完
#include<stdio.h>
#include<string.h>
main()
{
char a[10][80],max[80];
int i;
puts("请输入10个字符串:");
for(i=0;i<10;i++) //依次循环输入10个字符串
gets(a[i]);
strcpy(max,a[0]);
//字符串中不能用max=a[0],strcpy函数相当于给max赋值,意义上相当于max=a[0]
for(i=1;i<10;i++)
{
//剩下的9个字符串循环和max比较
if(strcmp(a[i],max)>0)
//strcpy函数用于比较两个字符串的大小(比较ASCII码)若前者大于后者,则>0,反之<0,相等则=0
strcpy(max,a[i]); //strcpy相当于把a[i]的值赋给max
}
puts("10个字符串中最大的是:");
puts(max);
}