编程统计输入的字符串中数字字符出现的次数,不知道为啥结果不对!
ch[i]的话是字符型,然后放在a[ch[i]]就不对了,改成a[ch[i]-'0']
已被提问者采纳
你还没有登录,请先登录或注册慕课网帐号
#include&stdio.h&
#include&string.h&
void main()
char ch[80];
int i,a[10],j,t;
for(i=0;i&10;i++)
//gets(ch);
scanf("%s",ch);
t=strlen(ch);
printf("%s\n",ch);
printf("字符串的长度是%d\n",t);
for(i=0;i&=t;i++)
if(ch[i]== '0')
if(ch[i]== '1')
if(ch[i]== '2')
if(ch[i]== '3')
if(ch[i]== '4')
if(ch[i]== '5')
if(ch[i]== '6')
if(ch[i]== '7')
if(ch[i]== '8')
if(ch[i]== '9')
for(i=0;i&10;i++)
printf("数字%d出现%d次\n",i,a[i]);
}这是我的想法,繁琐了点,应该可以用switch语句吧关于你的代码if(ch[i]&='0'&&ch[i]&='9')
a[ch[i]]++;这句代码就像楼上说的那样,它的值是个字符,就像'0'这样,是不能作为下标的
你还没有登录,请先登录或注册慕课网帐号
什么时候才能不用void main.
你还没有登录,请先登录或注册慕课网帐号
也许迟早会败给现实,那么请在举手投降之前,再拼一次
a[ch[i]]++这个很明显不对,c语言里边有下标是字符的情况吗
你还没有登录,请先登录或注册慕课网帐号
21633人关注
6586人关注
13051人关注
Copyright (C)
All Rights Reserved | 京ICP备 号-2}