有3個字串,要求找出其中最大者
阿新 • • 發佈:2018-12-09
這道題目和我之前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; }