PTA(C语言)7-149 个位数统计
输入格式:
每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。
输出格式:
对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。
输入样例:
100311
输出样例:
0:2
1:3
3:1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
一直显示答案错误,help me.
PTA(C语言)7-149 个位数统计
输入格式:
每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。
输出格式:
对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。
输入样例:
100311
输出样例:
0:2
1:3
3:1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
一直显示答案错误,help me.
应该是代码逻辑有点问题,修改如下,用一个字符数组存储不超过1000位的正整数,然后遍历整个字符数组,统计每个数字出现的次数,然后打印即可,仅供参考。修改如下:
参考链接:
【PTA】【C语言】个位数统计_夜挽鸢的博客-CSDN博客_个位数统计c语言pta
#include <stdio.h>
int main(void){
int n,i,a;
int nums[10]={0};
char c[1001];
scanf("%s",c); //获取不超过1000位的正整数的,存储于一个字符数组
//遍历字符数组,统计每个数字的个数
while(c[i]!='\0'){
a = c[i]-'0';
nums[a]+=1;
i++;
}
//打印结果
for(int i=0;i<10;i++){
if(nums[i]!=0){
printf("%d:%d\n",i,nums[i]);
}
}
return 0;
}