c语言编程 写一个函数,输入一行字符,将此字符串中最长的单词输出

刚学c语言,希望用最基础的语句写出。
就是随便输入一行字符 比如 I am a boy. 结果输出boy 另外 不考虑该单词是否存在 比如dffd也算单词

楼上的何必不指出思路啊!
分析:首先输入的是一行字符吧,而要找出最长的单词,首先要做的就是统计出每个单词吧,统计单词可以根据空格来判断是否为一个单词,当不是空格时,变量累加(这个就是单词的长度啊),储存起来,开始下一个单词的统计!最后把每个单词的长度作比较,求出最大的一个就行了,在把这个长度的单词弄出来!
在编程之前,首先明确目标,理清思路,从上往下把需要的都写出来,这样长期的积累就能写出好程序了,祝愿楼主学有所成!
PS:仅代表个人观点,如有错误,谢谢指出!

还有楼主要找的是最长的单词,又不是找到ASC||最大的字母,不住楼上的例题,我有点理解不了,寡闻了吧,我!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-31
只能输入100字符。 程序太大无法送。
#include<stdio.h>
void main()
{
char a[256],b[100],c[100];
printf("Input a string:");
gets(a);
这是输入部分,你先记录然后 发个你 处理部分追问

发到哪里

追答

int i=0;
int j=0;
int count=0;
int maxcount=0;
while (a[i]!='\0')
{
if( (a[i]>=65 && a[i]=97 && a[i]=48 && a[i]<=57))

就这样一个一个给你发你合成一个

追问

继续

追答

b[j]=a[i]; count++;
j++;
}
else
{
if(j!=0)
{
j=0;
if (count>maxcount)
{
for( int z=0;z<count;z++)
c[z]=b[z];
maxcount=count;

本回答被提问者采纳
第2个回答  2011-05-31
什么意思?怎样才算是字符串结束呢?如果只是计算长度,用strlen()就可以做到。楼主用个例子解释下,不然不知道要怎样。追问

看我的问题补充

追答

你怎么整的输入空间这么小?程序复制不过来。我已经帮你编好了一个,标点符号不会算在里头,用例句试验是正确的。要么能给个邮箱,给你发过去。

相似回答