| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 542 人关注过本帖
标题:C语言习题答案求修改意见
只看楼主 加入收藏
北辰无锋
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-6
收藏
 问题点数:0 回复次数:1 
C语言习题答案求修改意见

题目是:写一函数,输入一行字符,将此字符串中最长的单词输出。
答案一:int alphabetic(char c) /* 判断当前字符是否字母,是返回1,否则返回0 */

{

if ((c>=’a’&& c<=’z’)||(c>=’A’&&c<=’Z’))

return(1);

else

return(0);

}

int longest(char string[])    /* 寻找最长单词的起始位置 */

{ int len=0,i,length=0,flag=1,place=0,point;

for(i=0;i<=strlen(string);i++)

if(alphabetic(string[i])) /* string[i]是字母 */

if(flag)  /* 前面不是字母 */

{ point=i;

flag=0;}

else  /*string[i]是字母,前面也是字母*/

len++;

else  /*string[i]不是字母*/

{ flag=1;

if(len>=length) /*以point位置开始的词如为当前最长的,记住其位置*/

{ length=len;

place=point;

len=0;

}

}

return(place); /*返回最长单词的起始位置*/

}

main( )

{

int i;

char line[100];

printf("Input one line:\n");

gets(line); /*读入一行文本*/

printf("\nThe longest word is :");

for(i=longest(line);alphabetic(line[i]);i++) /*输出最长的单词*/

printf("%c",line[i]);

printf("\n");

}

答案二:cechang(str1,word0)

char str1[100],word0[15];

{int i=0,j=0,t=0;

static char word1[15];

for(;str1[i]!='\0';i++)

{if(!(str1[i]>=97&&str1[i]<=122||str1[i]>=65&&str1[i]<=90))

{t=j;j=0;continue;}

word1[j]=str1[i];j++;

if(j>=t) strcpy(word0,word1);}

}

main()

{char str0[100],longword[15];

gets(str0);

cechang(str0,longword);

puts(longword);

}

为什么我两个在C FREE里面都检测出错,如果要改,应该怎么写?多谢了

搜索更多相关主题的帖子: C语言 习题 意见 
2007-04-18 19:49
北辰无锋
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-6
收藏
得分:0 

自己先顶下,拜托大家了啊

2007-04-18 19:53
快速回复:C语言习题答案求修改意见
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034592 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved