c语言 随机输入一个字符串,统计该串中每个数字字符(0,1,2,3,4,5,6,7, 8,9)出现的次数。

如题所述

思路:统计字符串中每个数字字符出现的个数可以先定义一个整数数组a大小是10,依次保存0-9字符出现个数,遍历字符串,判断该字符是否是数字字符,如果是对应的数组元素自加1。
参考代码:
#include<stdio.h>
#include<string.h>
int main()

char a[100];
int i,n,num[10];
gets(a);
n=strlen(a);
for(i=0;i<10;i++){
num[i]=0;
}
for(i=0;i<n;i++)
if(a[i]>='0'&&a[i]<='9')
num[a[i]-'0']++;
for(i=0;i<10;i++)
printf("%d ",num[i]);
    return 0;
}
/*
输出:
ads51df0a3df9d87f89ads4fd0f3adsf21sdf47d89f9adsf65as1d2f3asd
2 3 2 3 2 2 1 2 3 4
*/

温馨提示:内容为网友见解,仅供参考
无其他回答

...该串中每个数字字符(0,1,2,3,4,5,6,7, 8,9)出现的次数。
思路:统计字符串中每个数字字符出现的个数可以先定义一个整数数组a大小是10,依次保存0-9字符出现个数,遍历字符串,判断该字符是否是数字字符,如果是对应的数组元素自加1。参考代码:include<stdio.h>#include<string.h>int main(){ char a[100];int i,n,num[10];gets(a);n=strlen(a);for...

...该串中每个数字字符(0,1,2,3,4,5,6,7, 8,9)出现的次数。
if(s[i]>='0'&&s[i]<='9')num[s[i]-'0']++;for(i=0;i<=9;i++)printf("%d出现的次数为:%d\\n",i,num[i]);}

...编写函数,统计字符串中各个0到9各数字字符出现的次数。
\/\/满意请采纳#include<stdio.h>void fun(char*str,int*times){int i;for(i=0;str[i];i++){if(str[i]-'0'>=0&&str[i]-'0'<=9)times[str[i]-'0']++;}}int main(){ char str[100]={0};int i,j,times[10]={0};scanf("%s",str);fun(str,times);for(i=0;i<10...

c语言编程。从标准输入设备上输入一个字符串,分别统计其中每个数字...
int j = 0;char c;while((c=getchar()) !='\\n'){ stringss[j] = c;j++;} for(i=0;i<j;i++)\/\/统计字符串,遇到'\\0'结束 { if(stringss[i]>='0'&&stringss[i]<='9')\/\/统计数字个数 num[0]++;else if(stringss[i]==' ')\/\/统计空格 num[1]++;else if(stringss...

用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数...
printf("请输入一个整数:");scanf("%d",&num);itoa(num,ch,10); \/\/将数字转化为字符串 for(ch1 = ch;ch1<ch+strlen(ch);ch1++){ num1 = *ch1;switch(num1){ case '0': a[0]++; break;case '1': a[1]++; break;case '2': a[2]++; break;case '3': a[3]++; ...

C语言 输入一串字符,计算当中0~9数字的个数
include <stdio.h> main(){ char x;int a[10]={0},i;while((x=getchar())!='\\n')if(x>='0'&& x<='9')a[x-'0']+=1;for(i=0;i<10;i++)printf("%d的个数是%d \\n", i,a[i]);return 0;} 你错在了for循环里面 错把i打成了1 这种错误很难发现。 主要要...

用c语言编程,字符统计:输入一个文本文件,分别统计出其中英文字母、空格...
include <stdio.h> int main(){ char c;int letters=0,space=0,digit=0,other=0;printf("请输入一行字符:");while ((c=getchar())!='\\n'){ if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z'){ letters++;} else if (c == ' '){ space++;} else if (c >=...

c语言 输入一串字符串,统计并输出其中的大写字母、小写字母、数字字符...
void main(){ char a[100];int sum0=0,suma=0,sumA=0;gets(a);char*p;for(p=a;*p!='\\0';p++){ if(*p>='0'&&*p<='9')sum0+=1;else if(*p>='a'&&*p<='z')suma+=1;else if(*p>='A'&&*p<='Z')sumA+=1;} printf("数字字符数量:%d\\n小写字母字符数量:%d\\n大写...

C语言程序设计:从标准输入设备上输入一个字符串,分别统计其中每个数字...
memset(str,0,1024);gets(str);for(i=0;str[i]!='\\0';i++){ if(str[i]>='0'&&str[i]<='9')num[0]++;else if(str[i]==' ')num[1]++;else if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')num[2]++;else num[3]++;} printf("数字%d个,...

c语言 输入一行字符,统计每个数字字符出现的次数?(例如: 0:1次 1...
include <stdio.h>int main(){char c; int i,a[10]={0}; scanf("%c",&c); while(c!='\\n') {if(c>='0'&&c<='9')a[c-'0']++; scanf("%c",&c); } for(i=0;i<10;i++) printf("%d: %d\\n",i,a[i]); return 0;} ...

相似回答