无非就是要解决两个问题:
1、如何判断一个单词的开始(lastchar);
2、统计该单词的长度(sum);
3、记录最大单词长度(max)
以下是不用数组的做法:
#include<stdio.h>
int main() {
char ch;
int max=0, sum=0,lastchar=0; //lastchar的作用是标识每个单词的开始
while ((ch = getchar()) != '\n')
if (ch == ' ') { //if-else结构用来分辨空格和单词
if (sum > max) {
max = sum;
}
lastchar = 1;
}
else {
if (lastchar == 1)
sum = 0;
sum++;
lastchar = 0;
}
printf("%d", max);
return 0;
}
如有不足之处,还请各位大佬多多指正emm
这段代码展示了如何使用C语言处理文本,通过识别空格来区分单词,计算单词长度并找出最长单词的长度。程序在读取输入直到遇到换行符时,维护最大长度和当前单词的计数,不依赖数组实现。
3761

被折叠的 条评论
为什么被折叠?



