设计一个C语言程序,求5120038899761253中0、1、2、3......8、9各个数字的个数

来源:百度知道 编辑:UC知道 时间:2024/06/11 00:09:39
rt,在线等,急,附:程序简洁,用简单的语句,外加说明更好

#include<stdio.h>

int main()
{
int n[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int i = 0;
char a[] = "5120038899761253";

while(a[i] != '\0')
{
n[a[i] - 48]++;
i++;
}

for (i = 0 ; i < 10; i++)
{
printf("%d: %d\n", i, n[i]);
}
}

我这个方法是妙不可言,学高手的:
#include <iostream.h>
int main()
{
int count[256]={0},i=0;
char ch[256];
cout<<"Input the string"<<endl;
cin>>ch;
while (ch[i]!=0)
{
++count[ch[i++]]; //核心部分
} //ch='\0'就是空格符,也是末尾标识符。
for(i=1;i<=255;i++)
if(count[i]>0) cout<<(char)i<<"出现了"<<count[i]<<"次"<<endl;

return 0;
}

#include<stdio.h>

main()
{
int i,a[10];char c;//a的第i个元素表示数字i出现的次数