读入一串数字,以句号结束,请统计其中‘0’到‘9’的各个数字的个数。(出现过的数字)。c语言
时间: 2024-11-07 11:13:57 浏览: 17
在C语言中,你可以使用数组和循环结构来统计输入字符串中每个数字字符出现的次数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_DIGITS 10 // 数字范围,可以调整
int count_digits(char str[]) {
int count[MAX_DIGITS] = {0}; // 初始化计数器数组
char digits[] = "0123456789"; // 所有可能的数字字符
int len = strlen(str); // 获取字符串长度
for (int i = 0; i < len; ++i) {
if (strchr(digits, str[i]) != NULL) { // 检查当前字符是否为有效数字
count[str[i] - '0']++; // 减去 '0' 得到对应的数组索引并加1
}
}
return count;
}
int main() {
char input[100]; // 用于存储用户输入
printf("请输入一串以句点结束的数字:");
fgets(input, sizeof(input), stdin); // 从标准输入读取字符串,包括句点
input[strlen(input) - 1] = '\0'; // 删除最后的换行符
int digit_counts[count_digits(input)]; // 宽度由count_digits函数返回
int* result = count_digits(input);
for (int i = 0; i < MAX_DIGITS; i++) {
if (result[i] > 0) {
printf("数字 %d 出现了 %d 次。\n", i + '0', result[i]);
}
}
return 0;
}
```
阅读全文