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;1<10;i++)
printf("%d",a[i]);
}

这个程序中哪里错了····希望有人帮我点明···多谢啦!!!!

#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 这种错误很难发现。 主要要你编程的时候细心
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-09
#include <stdio.h>
int main()
{
int 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 ",a[i]);
printf("\n");
return 0;
}
//统计给定字符串中0-9中数字的个数:
#include <stdio.h>
#include <ctype.h>

int main()
{
char ch;
int sum =0;
while((ch = getchar()) != '\n')
if(isdigit(ch)) sum++;
printf("%d\n",sum);
return 0;
}
第2个回答  2011-09-09
思路就错了
#include <stdio.h>
int main()
{
char x;
int i = 0;
while((x=getchar())!='\n')
if(x>='0'&& x<='9')
i+=1;
printf("%d\n",i);
}
第3个回答  2011-09-09
#include <stdio.h>
main()
{char x;
int a[10]={0},i;
while((x=getchar())!='\n') if(x>='0'&& x<='9') a[x-'0']+=1;
// i<10 不是 1<10
for(i=0;i<10;i++)
printf("%d",a[i]);
}
第4个回答  2011-09-09
就在那个for循环里
条件是 1<10 恒成立

C语言 输入一串字符,计算当中0~9数字的个数
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 这种错误很难发现。 主要要你编程的时候细心 ...

...统计字符串中各个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语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数...
char ch[100],*ch1,num1;for(i = 0;i < 10;i++)a[i] = 0;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[...

c语言 随机输入一个字符串,统计该串中每个数字字符(0,1,2,3,4,5,6...
思路:统计字符串中每个数字字符出现的个数可以先定义一个整数数组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...

C语言问题以键盘输入字符,Ctrl+z结束统计输入数字0~9空白符和其他字符的...
确认你的问题:输入任意个字符,Ctrl+z结束输入,统计0~9的数字、空格、其他字符个数。是不是这个意思?Ctrl+z对应输入的ascii码就是26。include <stdio.h>#include <string.h>#include <conio.h>struct cntChar{ int n1;\/\/数字个数 int n2;\/\/空格个数 int n3;\/\/其他字符个数}cch...

c语言输入一行字符串,如何统计其中的字母和数字的个数
int digit=0;int other=0;printf("请输入一行字符:>");while((c=getchar())!='\\n'){ if((c>='a'&&c<='z')||(c>='A'&&c<='Z')){ letters++;} else if(''==c){ space++;} else if(c>='0'&&c<='9'){ digit++;} else { other++;} } printf("字母的个数:>...

c语言 从键盘输入一行字符,分别统计其中数字字符,字母字符和其他字符...
a=b=c=0;\/\/计数器初始化为0.while((ch=getchar())!='\\n')\/\/循环读取字符,到换行结束。{ if(ch>='0' && ch<='9')\/\/数字 a++;else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))\/\/字母 b++;else\/\/其它 c++;} printf("%d%d%d\\n",a,b,c);\/\/输出结果...

c语言 随机输入一个字符串,统计该串中每个数字字符(0,1,2,3,4,5,6...
include<stdio.h> include<string.h> void main(){ char s[100];int i;static int num[10];scanf("%s",s);for(i=0;i<strlen(s);i++)if(s[i]>='0'&&s[i]<='9')num[s[i]-'0']++;for(i=0;i<=9;i++)printf("%d出现的次数为:%d\\n",i,num[i]);} ...

c语言输入字符串统计数字字符的个数,用换行符结束循环
include <stdio.h>int main(){char ch;int digit=0;printf("输入字符串: ");while((ch=getchar()) != '\\n'){if(ch>='0' && ch<='9')digit++;}printf("数字字符个数= %d\\n",digit); return 0;}示例运行结果:输入字符串: abcdg12459650klj546.数字字符个数= 11 ...

c语言:输入一串字符,以问号结束,统计1,2,3,4,5,6,7,8,9出现的次数
char c[80];int i,s[10]=0;scanf("%s",c);for(i=0;c[i]!='?';i++){ switch(c[i]){ case "1": s[1]++;break;case "2": s[2]++;break;...default: break;} } printf("统计1,2,3,4,5,6,7,8,9出现的次数分别为:\\n") ;for(i=1;i<10;i++){ printf("...

相似回答