用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数

编写一个C语言程序,用于统计一个整数中每个数字(0到9)出现的次数。下面是实现这个功能的详细步骤和代码示例:

步骤解析:

  1. 输入整数: 首先从用户输入获取一个整数。
  2. 初始化计数数组: 创建一个长度为10的整型数组,用于统计每个数字出现的次数,数组索引对应数字。
  3. 遍历整数的每一位: 使用循环结构遍历整数的每一位数字。
  4. 更新计数: 对于每个数字,将计数数组对应位置的计数加一。
  5. 输出统计结果: 最后输出每个数字出现的次数。

代码示例:

c
#include <stdio.h> int main() { int num; int digitCounts[10] = {0}; // 初始化数字计数数组,索引0对应数字0,索引1对应数字1,依此类推 // 输入整数 printf("请输入一个整数:"); scanf("%d", &num); // 处理负数情况,转换成正数处理 if (num < 0) { num = -num; } // 统计每个数字出现的次数 while (num > 0) { int digit = num % 10; // 获取个位数字 digitCounts[digit]++; // 对应数字计数加一 num /= 10; // 去掉个位数字 } // 输出统计结果 printf("数字出现的次数如下:\n"); for (int i = 0; i < 10; ++i) { printf("数字 %d 出现了 %d 次\n", i, digitCounts[i]); } return 0; }

代码说明:

  • 变量和数组

    • num:用于存储输入的整数。
    • digitCounts:长度为10的数组,用于统计0到9每个数字出现的次数。
  • 输入处理

    • 使用 scanf 函数获取用户输入的整数。
    • 如果输入的是负数,取其绝对值处理。
  • 统计数字出现次数

    • 使用 while 循环遍历整数 num 的每一位数字。
    • digit = num % 10 获取当前最低位的数字。
    • digitCounts[digit]++ 将对应数字的计数加一。
    • num /= 10num 除以10,去掉当前最低位数字。
  • 输出结果

    • 使用 for 循环遍历 digitCounts 数组,输出每个数字对应的出现次数。

示例运行:

请输入一个整数:1234567890 数字出现的次数如下: 数字 0 出现了 1 次 数字 1 出现了 1 次 数字 2 出现了 1 次 数字 3 出现了 1 次 数字 4 出现了 1 次 数字 5 出现了 1 次 数字 6 出现了 1 次 数字 7 出现了 1 次 数字 8 出现了 1 次 数字 9 出现了 1 次

这样,你可以输入任意整数,程序会统计并输出该整数中每个数字(0到9)的出现次数。