例7.9 有3个字符串,要求找出其中最大者。
今设一个二维的字符数组Str,大小为3×20,即有3行20列,每一行可以容纳20个字符。图7.19表示此二维数组的情况。
Str[0]∶
china\0
Str[1]∶
JaPan\0
Str[2]∶
India\0
如前所述,可以把Str[0]、Str[1]、Str[2]看作3个一维字符数组,它们各有20个元素。可以把它们如同一维数组那样进行处理。可以用getS函数分别读入3个字符串。经过二次比较,就可得到值最大者,把它放在一维字符数组String中。
程序如下:
main ( )
{
char string[20];
char str[3] [20];
int i;
for (i=0;i<3;i++)
gets (Str[i]);
if (strcmp(str[0],str[1])>0)strcpy (string,str[0]);
else strcpy(string,str[1]);
if (strcmp(Str[2],string)>0)strcpy(string,str[2]);
printf("\nthe largest string is∶\n%s\n",string);
}
运行结果如下:
china
holland
america
the largest string is∶
holland