C语言 . 输入一行字符,以回车结束,分别统计出其中的英文字母、空格、数字和其他字符的数。帮忙看看哪错

#include<stdio.h>
main()
{
int s,a=0,b=0,c=0,d=0;
scanf("%2d",&s);
if((s>=65&&s<=91)||(s>=97&&s<=123));
a=a+1;
else if(s="");
b=b+1;
else if(s<=1&&s>=9);
c=c+1;
else
d=d+1;
printf(%d%d%d%d,abcd);
}
帮忙看看哪错了,谢谢!!!!!

printf("%d%d%d%d",a,b,c,d);
引号逗号少了吧?

别的我没看 你看看有问题没

-======================================
你的程序我没看懂,是用来干什么的?追问

还是不对“c(8) : warning C4047: '=' : 'int ' differs in levels of indirection from 'char [1]'”

追答

#include
main()
{
int a=0,b=0,c=0,d=0;
char s;
scanf("%c",&s);
while(s!='\n')
{
if(((s>='a')&&(s='A')&&(s='0'&& s<='9')
c=c+1;
else
d=d+1;

scanf("%c",&s);
}
printf("字符%d 空格%d 数字%d 其他%d",a,b,c,d);
}

老兄,说实话,你错的有点多……我都快重写了……

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-08
输入错误。。。 你这个估计重写吧,错误好多- - 这是我写的,纯手工。主要参考的。最好自己再写一下,我的做参考就可以了
#include<stdio.h>
int main()
{
char c;
int n,m,x,y;
n=m=x=y=0;
printf("input a string:");
c=getchar();
while(c!='\n')
{
if (c>=65 and c<=90 || c>=97 and c<=122) n++;
else if (c>=48 and c<=57) m++;
else if (c==32) x++;
else y++;
c=getchar();
}
printf("字母个数:%d\n",n);
printf("数字个数:%d\n",m);
printf("空格个数:%d\n",x);
printf("其他字符个数:%d\n",y);
getchar();getchar();getchar();
}
第2个回答  2011-04-08
表示好多错误~~
1,字符串要存放在数组里
2,含有空格的字符串要用gets,不能用scanf
3,if那一行不能有分号
4,输出不规范
5,英文的ASCII记错了
以下是其中一个解法:
#include<stdio.h>
void main()
{
int a=0,b=0,c=0,d=0,i=0;
char s[80];
gets(s);
for(i=0;i<80&&s[i]!='\0';i++)
{
if((s[i]>=65 && s[i]<=90)||(s[i]>=97&&s[i]<=122))//或if((s[i]>='a' && s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
a=a+1;
else if(s[i]==32)//或s[i]==' ';
b=b+1;
else if(s[i]>=48 && s[i]<=57)//或else if(s[i]>='0' && s[i]<='9')
c=c+1;
else
d=d+1;
}
printf("英文字符有%d\n",a);
printf("空格字符有%d\n",b);
printf("数字字符有%d\n",c);
printf("其他字符有%d\n",d);
}
第3个回答  2011-04-09
main()就没错啦
/t 水平制表符
/b 退格将当前位置移到前一列

三,输入一个字符,判断输入字符的种类,即区分空格,回车,数字字符,英文字母和其他字符(用switch编写)
void main()
{
int k(0);
k = getchar();
switch(k)
{
case 32:
printf("空格!\n");
return;
case 10:
printf("回车!\n");
return;
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
printf("数字!\n");
return;
default:
break;
}

int x1 = (k-13)/26;
switch(x1)
{
case 2:
printf("字母!\n");
return;
default:
break;
}

int x2 = (k-19)/26;
switch(x2)
{
case 3:
printf("字母!\n");
return;
default:
printf("其他键!\n");
break;
}
system("pause");
return;
}
第4个回答  2011-04-08
#include<stdio.h>
#include<string.h>
void main()
{
int a=0,b=0,c=0,d=0;
char s[100];
char e;
printf("please input : ");
scanf("%s",&s);
int length=strlen(s);
for(int i=0;i<length;++i)
{
e=s[i];
if(e>=97 && e<=122)
a++;
else if( e==' ')
b++;
else if(e>=1 && e<=9)
c++;
else
d++;

}printf("%d %d %d %d",a,b,c,d);
}
我写的ASCII值不对,你再查查书吧。

...统计出其中的英文字母、空格、数字和其他字符的数。
include <stdio.h> int main(){ int letter=0,space=0,digit=0,others=0;char c;while((c=getchar())!='\\n'){ if(c==' ')space++;else if(c>='1'&&c<='9')digit++;else if((c>='a'&&c<='z')||c>='A'&&c<='Z')letter++;else others++;} printf("The number of...

...分别统计出其中英文字母,空格,数字和其他字符的个数。
else if('0'<=nextchar<='9')修改后:include <stdio.h> int main(){ int letter=0,space=0,number=0,others=0;char nextchar;printf("Input your string\\n");for(;nextchar!='\\n';){ scanf("%c",&nextchar);if('a'<=nextchar&&nextchar<='z'||'A'<=nextchar&&nextchar<='Z')...

...统计出大写字母,小写字母,空格,数字和其他字符?
printf("大写字母:%d, 小写字母:%d, 空格:%d, 数字:%d, 其他:%d\\n",upper, lower, space, digit, other);return 0;}

...结束标志,分别统计出大写字母,小写字母,空格,数字和其他字符的...
因为字符串中有空格所以不能使用scanf函数来接收键盘输入的字符串,因为scanf遇到空格和回车结束输入,所以需要使用gets来接收键盘输出的字符串,接着依次判断并累加,最后输出即可。 参考代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include <stdio.h> int main() ...

从键盘输入一串字符串,已回车结束,分别统计输出其中数字、字母和其他字...
='\\n') \/\/循环输入字符,直到输入回车{if(c>='a' && c<='z' || c>='A' && c<='Z')letters++;else if(c==' ')space++;else if(c>='0' && c<='9')digit++; else others++;}printf("统计:字母=%d 空格=%d 数字=%d 其它=%d\\n",letters,space,digit,others);...

输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数
printf("请输入一串任意的字符:\\n");while((c=getchar())!='\\n'){ if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))letters++;else if(c>='0'&&c<='9')digits++;else if(c==' ')spaces++;else others++;} printf("字母有%d个,数字有%d个,空格有%d个,其他有%d个",...

输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数...
1 while语句:include<stdio.h> int main(void){ \/\/输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。char ch;int char_num=0,kongge_num=0,int_num=0,other_num=0;while((ch=getchar())!='\\n')\/\/回车键结束输入,并且回车符不计入 { if(ch>='a'&&ch<='z'||...

输入一行字符,以回车键结束输入 分别统计其中出现的大写英文字母 小写...
include <stdio.h>int main(){ int letter=0,space=0,digit=0,others=0; char c; while((c=getchar())!='\\n'){ if(c==' ') space++; else if(c>='1'&&c<='9') digit++; else if((c>='a'&&c<='z')||c>='A'&&c<='Z') letter++; els...

C语言 输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的...
int i=0,j=0,k=0,m=0,da=0,xiao=0;printf("please input the string\\n");while((s=getchar())!='\\n') \/*循环从键盘读入字符直到一行结束(输入回车)*\/ { if((s='a')||(s'A')){ if(s='A')da++;if(s='a')xiao++;i++; \/*i存入字母数*\/ } else if(s==' ')...

c语言 输入一行字符,以回车作为结束,依次输出大写字母、小写字母、空...
4];for(i=0;i<5;i++)a[i]=0;char c[];while(1){ gets(c);judge(c);} for(i=0;i<5;i++)printf(“大写字母 小写字母 空格 数字字符 其他字符");printf("%5d",a[i]);return 0;} 希望我的答案对你有所帮助,如果还有问题可以加我qq 1171115772 我会及时回你的 ...

相似回答