这道题目和我之前blog中和矩阵求值中使用的算法是一样的,都是使用打擂台算法进行解题。
https://blog.csdn.net/qq_42766201/article/details/83651471
接下来我们来看下思路:
这道题首先需要设立3个二维字符数组和1个临时的数组,两两对比,大的把小的比下去,将其赋值给临时二维数组。最后再输出临时二维数组。
#include<stdio.h>
#include<string.h>
int main()
{
char str[3][20]; //定义二维字符数组,有三个一位字符数组
char string[20]; //定义一个临时的字符数组
int i;
for(i=0;i<3;i++)
gets(str[i]); //读入3个字符串,分别赋值给str[1],str[2],str[3]
if(strcmp(str[0],str[1])>0) //strcmp为比较字符串,将str[0]与str[1]相对比,倘若str[0]比str[1]大
strcpy(string,str[0]); //将str[0]的字符串复制给string
else
strcpy(string,str[1]); //将str[1]的字符串复制给string
if(strcmp(str[2],string)>0) //strcmp为比较字符串,将str[2]与string相对比,倘若str[0]比str[1]大
strcpy(string,str[2]); //将str[2]的字符串复制给string
printf("\nthe largest string is:\n%s\n",string);//输出
return 0;
}