1. 程式人生 > >有3個字串,要求找出其中最大者

有3個字串,要求找出其中最大者

這道題目和我之前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;
}