永发信息网

C语言编程纠错。

答案:1  悬赏:20  手机版
解决时间 2021-05-16 23:32
  • 提问者网友:我的未来我做主
  • 2021-05-16 17:40

#include<stdio.h>
main()
{
void maxstr(s1);
char s[100];
printf("输入一行字符串:\n");
gets(s);
maxstr(s);

}
void maxstr(s1)
char s1[];
{ int i,n=0,j=0,m;
char s2[100],s3[100];
for(i=0;s1[i]!='\0';i++,j++)
{

if(s1[i]!=' ')
{

s2[j]=s1[i];
m=0;
++m; //记下每个单词的长

}
else if(m>n)
{ n=m;
for(j=0;j<m;j++)
{
s3[j]=s2[j];
}
s3[j]='\0';
j=0;
}

}
printf("%s\n",s3);
}

能过编译。但结果错误。。

题目要求输入一字符串。输出字符串中最长的词。。。

最佳答案
  • 五星知识达人网友:猎心人
  • 2021-05-16 18:20

稍微做了点修改. 你看看加粗的那几句代码.


#include<stdio.h>
main()
{
void maxstr(char s1[]);
char s[100];
printf("输入一行字符串:\n");
gets(s);
maxstr(s);

}
void maxstr(char s1[])
{
int i,n=0,j=0,m=0;
char s2[100],s3[100];
for(i=0;s1[i]!='\0';i++)
{

if(s1[i]!=' ')
{

s2[j++]=s1[i];
++m; //记下每个单词的长

}
else if(m>n)
{
n=m;
for(j=0;j<m;j++)
{
s3[j]=s2[j];
}
s3[j]='\0';
j=0;
m=0;


}
}
printf("%s\n",s3);
}


运行时截图:

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯