【问题描述】 输入5个字符串,输出其中最大的字符串。

#include<stdio.h>
#include<string.h>
#include<math.h>
int main(void)
{
char s[4][20],count[4],k[4];
printf("Input 5 strings:\n");
int max,maxi,i;
max=maxi=i=0;
int j=-1;
do{
j++;
k[i]++;
s[i][j]=getchar();
count[i]+=s[i][j];
if((s[i][j]==' ')||(s[i][j]=='\n')){
k[i]=k[i]-1;
i=i+1;
j=-1;
}
}while(i<5);
for(i=0;i<5;i++){
if(count[i]>max){
max=count[i];
maxi=i;
}
}
printf("Max is:");
for(j=0;j<k[maxi];j++){
printf("%c",s[maxi][j]);
}
return 0;
}

===================================这是我的程序但是不知道为什么输出是乱码,求解。。。。

#include <stdio.h>
#include <string.h>
int main(void)
{
int i;
char str[80],max[80];

printf("Input 5 strings:\n");
scanf("%s",str);
strcpy(max,str);
for(i=1;i<5;i++)
{
scanf("%s",str);
if( strcmp(max,str)<0 ) /* 调试时设置断点*/
strcpy(max,str);
}
printf("Max is:%s \n",max);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答