读书人

做的作业 检查不出错 连接不出错 一运

发布时间: 2012-07-30 16:19:05 作者: rapoo

做的作业 检查不出错 连接不出错 一运行 就停止工作 指点一下吧
#include<stdio.h>
int main()
{
char a[100];
char f;
int b=0,c=0,d=0,e=0,i;
scanf("%s",a);
for(i=0;(f=a[i])!='\0';i++)
{
if((f>='a')&&(f<='Z'))
b++;
else if(f=' ')
c++;
else if((f='0')&&(f<='9'))
d++;
else
e++;
}
printf("%s\n",a[100]);
printf("%d",b);
printf("%d",c);
printf("%d",d);
printf("%d",e);
return 0;
}

[解决办法]

这行的格式化参数不符:printf("%c\n",a[100]);至于功能逻辑对不对就不知道了。
[解决办法]
printf("%c\n",a[100]);
改为
printf("%s\n",a);

[解决办法]
if((f>='a')&&(f<='Z')) //你这里用了大写'Z',ascii码中'Z'是65,'a'是97

else if(f=' ') //本应该是判等的,用了赋值,是 ==

else if((f='0')&&(f<='9')) //同上

printf("%s\n",a[100]); //这里需要的是地址,也就应该改为 a
[解决办法]

C/C++ code
#include<stdio.h>int main(){char a[100];char f;int b=0,c=0,d=0,e=0,i;scanf("%s",a);for(i=0;(f=a[i])!='\0';i++){if((f>='a')&&(f<='z'))  //修改b++;else if(f==' ')  //修改c++;else if((f>='0')&&(f<='9'))  //修改d++;elsee++;}printf("%s\n",a);  //修改printf("%d",b);printf("%d",c);printf("%d",d);printf("%d",e);return 0;}
[解决办法]
忘了说这个:else if(f==' ') //这句没用的,scanf遇到空格就会停止,不可能出行空格
[解决办法]
探讨

C/C++ code
#include<stdio.h>
int main()
{
char a[100];
char f;
int b=0,c=0,d=0,e=0,i;
scanf("%s",a);
for(i=0;(f=a[i])!='\0';i++)
{
if((f>='a')&&(f<='z')) //修改
b++;
else if(f==' ') //修改
c++……

读书人网 >C语言

热点推荐