输入一段文本,有若干行,每行里面有若干个单词,每行开头不是空格。分别统计每行单词的长度和,并输出每行最长单词的内容(如果有多个等长单词则输出最先出现的那个单词)。
最后1行仅有单词stop ,作为结束标记。
例如
输入:
My name is Amy
My name is Jane
stop
输出:
11 name
12 name
关于#c语言#的问题:分别统计每行单词的长度和,并输出每行最长单词的内容(如果有多个等长单词则输出最先出现的那个单词)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 树下等苹果 2022-05-09 16:38关注
实现代码:
#include<stdio.h> #include<string.h> int main() { char s[200]; while (gets(s) && strcmp(s, "stop")!=0) { char a[100][20] = { '\0' }; int j = 0, k = 0, count = 0, max = 0, max_num, len, all = 0; len = strlen(s); //计算字符串长度 for (int i = 0; i < len; i++) { if (s[i] != ' ') { a[j][k++] = s[i]; count++; //单词的字母数 } else { j++; k = 0; if (max < count) { max = count; //记录最长单词数 max_num = j - 1; //最长单词所在行 } all += count; count = 0; } } if (max < count) { max = count; //记录最长单词数 max_num = j; //最长单词所在行 } all += count; count = 0; printf("%d\t", all); for (int i = 0; i < max; i++) printf("%c", a[max_num][i]); printf("\n"); } }
输入及输出:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能
- ¥15 jmeter脚本回放有的是对的有的是错的
- ¥15 r语言蛋白组学相关问题
- ¥15 Python时间序列如何拟合疏系数模型