使用数组和循环解决此题。定义一个大小为10的数组,数组count[i]代表每个数i。当输入数字后,对应的i++,以此记录次数。不需要记录每一个数字后统计每个数的次数。
#include <stdio.h>
int main()
{
const int number = 10//数组的大小
int x
int count[10]//定义数组
for (int i = 0i <numberi++) { //初始化数组
count[i] = 0
}
scanf_s("%d", &x)//输入x
while(x!=-1){ //当输入不为-1时,继续输入数值
if (x >= 0 &&x <= 9) {
count[x]++//数组参与运算
}
scanf_s("%d", &x)//输入x
}
for (int i = 0i <numberi++) { //遍历数组
printf("%d出现次数:%d 次\n", i, count[i])
}
}
程序运行结果
#include<stdio.h>int main(void)
{ int num[10]={0} //定义数组,里面的元素全部为0,用来统计0--9出现的次数
int b[]={1,2,3,4,4,1,3}//定义数组B,里面存放你要输入的数字串
int i
for(i=0i<sizeof(b)i++)
num[ b[i] ] ++
for(i=0i<10i++)
printf( "%d",num[i])
return 0
}