C语言找出最长的字符串。输入5个字符串,输入其中最长的字符串。

找出最长的字符串。输入5个字符串,输入其中最长的字符串。输入字符串调用函数scanf。错在哪?为什么?怎么改?谢谢。

#include <stdio.h>

#include <string.h >

int main()

{

int i = 0;

char s[80] = {""}, max[80] = {""};

printf("输入五个字符串:\n");

scanf("%s",s);

strcpy(max,s);

for(i=1; i<5; i++)

{

scanf("%s",s);

if( strcmp(max,s)<0 )

strcpy(max,s);

}

printf("最大的字符串是:%s \n",max);

return 0;

}

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md--&gt;m域宽,打印出来以后,在控制台上,显示m位;

如果要打印的数的位数如果超过我们设定m则原样输出;

如果要打印的数的位数如果小于设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-11

#include <stdio.h>
#include <string.h>
int main(void)
{
int i,j=0,max=0;
char str[5][20];
for(i=0;i<5;i++)
{
printf("  请输入第 %d 个字符串:",i+1);
scanf("%s",str[i]);
if(!max)
max=strlen(str[i]);
if(max<strlen(str[i]))
{
max=strlen(str[i]);
j=i;
}
}
printf("  输入的 5 个字符串中最长的字符串是:%s\n",str[j]);
return 0;
}

本回答被网友采纳
第2个回答  2018-05-11
第17行k(i)应改为k[i]本回答被提问者采纳
第3个回答  2018-05-11
应该是:
if(k[i]>max) //不是k(i)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网