求大牛相助!!!
#include<stdio.h>
int main()
{
int letter=0,digit=0,space=0,others=0,i;
char a[100];
for(i=0;scanf("%c",&a[i])!='\n';i++)
{
if(((a[i]>='a')&&(a[i]<='z'))||((a[i]>='A')&&(a[i]<='Z')))
letter++;
else if((a[i]>=0)&&(a[i]<=9))
digit++;
else if(a[i]=='')
space++;
else
others++;
}
printf("%d %d %d %d\n",letter,digit,space,others);
}
这个代码为什么过不了。。。
[解决办法]
#include<stdio.h>
int main()
{
int letter=0,digit=0,space=0,others=0,i;
char a[100];
for(i=0;scanf("%c",&a[i]) && a[i]!='\n';i++)
{
if(((a[i]>='a')&&(a[i]<='z'))
[解决办法]
((a[i]>='A')&&(a[i]<='Z')))
letter++;
else if((a[i]>='0')&&(a[i]<='9'))
digit++;
else if(a[i]==' ')
space++;
else
others++;
}
printf("%d %d %d %d\n",letter,digit,space,others);
}
[解决办法]
lz 看看 ctype.h
for(i=0;scanf("%c",&a[i])!='\n';i++) 很特别的用法
[解决办法]
else if(a[i]=='')//此处的''内没有空格,应该为' ';
space++;
[解决办法]
统计字母,数字,空格,其他
#include<stdio.h>
#include <string.h>
int main()
{
int letter=0,digit=0,space=0,others=0,i;
char a[100];
gets(a);
//for(i=0;scanf("%c",&a[i])!='\n';i++) //Returns the number of fields successfully converted and assigned
for(i=0;i<strlen(a);i++)
{
if(((a[i]>='a')&&(a[i]<='z'))
[解决办法]
((a[i]>='A')&&(a[i]<='Z')))
letter++;
else if((a[i]>='0')&&(a[i]<='9')) //a[i]是5,但是他是个char啊~~
digit++;
else if(a[i]==' ') //这里是空格,是 ‘ ’不是‘’
space++;
else
others++;
}
printf("%d %d %d %d\n",letter,digit,space,others);
}
#include<stdio.h>
#include <string.h>
int main()
{
int letter=0,digit=0,space=0,others=0,i;
char a[100];
gets(a);
//for(i=0;scanf("%c",&a[i])!='\n';i++) //Returns the number of fields successfully converted and assigned
for(i=0;i<strlen(a);i++)
{
if(((a[i]>='a')&&(a[i]<='z'))
[解决办法]
((a[i]>='A')&&(a[i]<='Z')))
letter++;
else if((a[i]>='0')&&(a[i]<='9')) //(掉了两字)假设a[i]是5,但是他是个char啊
digit++;
else if(a[i]==' ') //这里是空格,是 ‘ ’不是‘’
space++;
else
others++;
}
printf("%d %d %d %d\n",letter,digit,space,others);
}