c语言从键盘上输入一些单词(以空格为分隔符,"###"为结束标志,最多20个)。然后统计每个单词出现的次数。最后按输入顺序输出各个单词及其对应的出现次数。如输入: Girl Boy Girl Student Lin Student ### 则输出: Girl 2 Boy 1 Student 2 Lin 1
时间: 2023-06-08 10:08:29 浏览: 102
"或"\n"为结束符),将其中出现次数最多的单词及其出现次数打印出来。
首先需要将输入的单词按照空格或换行符进行分隔,可以使用字符串处理函数进行字符串的分割。然后使用循环遍历分割出来的每个单词,并使用哈希表存储单词出现的次数,即将每个单词作为键,出现次数作为值,统计每个单词出现的次数。最后遍历哈希表,找到出现次数最多的单词,并将其和出现次数打印出来即可。
相关问题
输入一行字符,以‘#”为结束,统计其中的空格个数。使用c语言for循环
’结束,统计其中英文字母、数字、空格和其他字符的个数。
首先,我们需要先定义四个计数器分别用于统计英文字母、数字、空格和其他字符的个数,然后使用循环来遍历输入的每一个字符。在循环里,我们可以用isalpha()、isdigit()和isspace()函数来判断字符类型,如果是英文字母、数字或空格就把对应计数器加1,否则就把其他字符计数器加1。最后输出四个计数器的值即可。具体代码如下:
```
alpha_count = 0 # 英文字母计数器
digit_count = 0 # 数字计数器
space_count = 0 # 空格计数器
other_count = 0 # 其他字符计数器
string = input("请输入一行字符:")
for char in string:
if char.isalpha(): # 如果是英文字母
alpha_count += 1
elif char.isdigit(): # 如果是数字
digit_count += 1
elif char.isspace(): # 如果是空格
space_count += 1
else: # 否则就是其他字符
other_count += 1
print("英文字母个数:", alpha_count)
print("数字个数:", digit_count)
print("空格个数:", space_count)
print("其他字符个数:", other_count)
```
c语言输入一个以#为结束标志的字符串,判断该字符串是否为回文
以下是一个判断字符串是否为回文的 C 语言程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, len, flag = 1;
printf("请输入一个字符串,以 # 结束:");
scanf("%[^#]", str);
len = strlen(str);
for (i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
flag = 0;
break;
}
}
if (flag) {
printf("%s 是一个回文字符串\n", str);
} else {
printf("%s 不是一个回文字符串\n", str);
}
return 0;
}
```
这个程序使用了 scanf 函数结合格式控制符 `%[^#]` 读入一个以 # 结束的字符串。然后,通过遍历字符串的前半部分和后半部分,判断字符串是否为回文字符串。如果是回文字符串,则输出提示信息。反之,输出另一条提示信息。