一个acm程序小题目,无法通过,求指导? 输入一行字符,将此字符串中最长的单词输出。

#include<stdio.h>#include<string.h>intmain(){charc,mword[85],nword[85];//nword为当前单词,m... #include<stdio.h>
#include<string.h>
int main()
{
char c,mword[85],nword[85]; //nword为当前单词,mword为最长单词
int mlen,nlen,i; //mlen为最长单词长度,nlen为当前单词长度
mlen=0;
nlen=0;
while((c=getchar())!=EOF) //到文件结束
{
if(c=='\n') //遇到回车的情况,统计结束
{
if(mlen==0) continue;
for(i=0; i<=mlen-1; ++i)
printf("%c",mword[i]);
printf("\n");
mlen=0;
nlen=0;
}
else if(('a'<=c && c<='z') || ('A'<=c && c<='Z')) //遇到单词的情况
{

nword[nlen]=c;
++nlen;
if(nlen>mlen)
{
strcpy(mword,nword); //将当前单词保存到最长单词
mlen=nlen;
}
}
else //出现其他字符表示进入下一个新单词的情况
{
nlen=0;
}
}
return 0;
}

输入:
Keywords insert, two way insertion sort,Abstract This paper discusses three method for two way insertion sort输出:
insertiondiscusses
展开
 我来答
yl_shadow
2015-06-15 · TA获得超过960个赞
知道小有建树答主
回答量:257
采纳率:66%
帮助的人:384万
展开全部
你的nword和mword都没有加'\0',那么它们就只能是字符数组,而不能当做字符串来看待,strcpy(mword,nword);函数就是从两个指针位置开始逐一复制字符直到处理到'\0'为止。
追问
加了一句 nword[nlen]='\0';
提交还是错的(┬_┬)
无奈了
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式