楼上的何必不指出思路啊!
分析:首先输入的是一行字符吧,而要找出最长的单词,首先要做的就是统计出每个单词吧,统计单词可以根据空格来判断是否为一个单词,当不是空格时,变量累加(这个就是单词的长度啊),储存起来,开始下一个单词的统计!最后把每个单词的长度作比较,求出最大的一个就行了,在把这个长度的单词弄出来!
在编程之前,首先明确目标,理清思路,从上往下把需要的都写出来,这样长期的积累就能写出好程序了,祝愿楼主学有所成!
PS:仅代表个人观点,如有错误,谢谢指出!
还有楼主要找的是最长的单词,又不是找到ASC||最大的字母,不住楼上的例题,我有点理解不了,寡闻了吧,我!
int a[l]中,因为l是变量,所以在C中这样定义数组是非法的,[]中必须是常量。但可以动态分配,用int *a=(int *)malloc(sizeof(int)*l));来定义,不过最后要用free(a)来释放。
童鞋 我可以说下我的思路
引用一 个int[] 记录每个单词的长度 然后打印的话 只需要按照空格找到对应的索引就可以了
for example:
I hope I can be enable to help the ones who needs especially who ever helped me.
此时int a[] 里面最大的是a[12] 于是我从a[12] 这个地址开始打印a[12]这么多长度的字符就可以
这样使用的空间小 不需要开辟二为树组 但是至少需要遍历两次
一个地方错了 第8行 inta[l];这句。
定义数组a的时候 下标不能用变量 下标必须是一个常量