使用c语言输入一串字符(中间无空格,字符串最长80),统计其中数字字符0-9各出现多少次,输出出现过的数字(每3个字母占一行)及其出现次数。 输入格式: 字符串 输出格式: 输出出现过的数字(每3个字母占一行)及其出现次数。 例如: 1:2次 3:1次
时间: 2024-12-06 22:22:20 浏览: 41
要完成这个任务,你可以使用C语言编写一个程序,利用循环遍历输入的字符串,并使用ASCII码来识别数字字符。这里是一个简单的示例代码,它满足你的要求:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[90]; // 保证足够大的数组存储字符串,包括结束符'\0'
int count[10] = {0}; // 初始化一个计数数组,用于存储每个数字(0-9)的出现次数
printf("请输入一串无空格的字符(最多80个,超出部分将被截断):");
fgets(input, sizeof(input), stdin); // 读取用户输入
// 移除fgets可能会添加的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
for (int i = 0; i < strlen(input); i++) {
if (isdigit(input[i])) { // 检查是否是数字字符
count[input[i] - '0']++; // 更新对应数字的计数
}
}
// 打印结果
for (int i = 0; i <= 9; i++) {
if (count[i]) {
printf("%d:%d次\n", i, count[i]);
// 每3个数字换行
if ((i % 3 == 2) || (i == 9)) {
printf("\n");
}
}
}
return 0;
}
```
当你运行这个程序并按照提示输入字符串时,它会计算出每个数字字符的出现次数,并按要求格式输出到屏幕上。
阅读全文