找最长的字符串 (15 分)
7-5 找最长的字符串 (15 分)
本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。
输入格式: 输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。
输出格式: 在一行中用以下格式输出最长的字符串:
The longest is: 最长的字符串 如果字符串的长度相同,则输出先输入的字符串。
输入样例: 5 li wang zhang jin xiang 输出样例: The longest is: zhang
#include<stdio.h> #include<string.h> int main() { int n,i; char a[100],b[100]; //a→拿来输入的,b→拿来得到最长的字符串 scanf("%d",&n); getchar(); //吃掉空格 for(i=0;i<n;i++){ gets(a); if(i==0) strcpy(b,a); //第一此需复制,防止第一个就是最长的情况 if(strlen(b)<strlen(a)) //若新来的比原来的还要长,那么就复制新来的来覆盖掉原来的 strcpy(b,a); } printf("The longest is: "); puts(b); return 0; }