编写程序输入正整数nn大于等于一,小于等于五,再输入n个正整数对每个整数每一位数据统计0到9各个数出现次数
使用二维数组实现代码参考如下:
int main(int argc, const char * argv[]) {
int n;
scanf("%d", &n);
// 定义二维数组存储输入整数0到9各个数出现次数
int arr[n][10];
for (int i = 0; i < n; i++) {
// 给二维数组初始化值
for (int j = 0; j < 10; j++) {
arr[i][j] = 0;
}
// 输入第i+1个正整数并统计0到9各个数出现次数存入数组
int a;
scanf("%d", &a);
if (a == 0) {
arr[i][0] = 1;
continue;
}
while (a != 0) {
arr[i][a%10] += 1;
a /= 10;
}
}
// 输出各个整数0到9各个数出现次数
for (int i = 0; i < n; i++) {
printf("第%d个整数0-9各个数出现次数:\n", i+1);
// 给二维数组初始化值
for (int j = 0; j < 10; j++) {
printf("%d-%d ", j, arr[i][j]);
}
printf("\n");
}
return 0;
}
供参考:
#include <stdio.h>
int main()
{
int i, n, k, t, a[10] = { 0 };
do {
printf("请输入一个正整数N(1<=n<=5):");
scanf("%d", &n);
} while (n < 1 || n>5);
while (n--) {
scanf("%d", &k);
t = k;
if (t < 0) {
printf("请输入一个正整数!\n");
continue;
}
else if (t == 0)
a[0]++;
else {
while (t) {
a[t % 10]++;
t /= 10;
}
}
printf("整数%d,各位数出现的次数:\n", k);
for (i = 0; i < 10; i++)
{
printf("%d:%d\n", i, a[i]);
a[i] = 0;
}
}
}