(C语言初学者)大家看看我这程序哪错了?

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:02:26
#include<stdio.h>
main()
{
char c;
int t1=0,t2=0,t3=0,t4=0,d=0;

printf("Input some chars:\n");
scanf("%c",&c);

while(d<1)
{
if( (64<'c'<91)||(96<'c'<123) )
t1++;
else if( 47<'c'<58 )
t2++;
else if('c'==32 )
t3++;
else if('c'==0)
d++;
else
t4++;
}
printf("%d,%d,%d,%d",t1,t2,t3,t4);
}
我的目的是输入一串字符,然后判断有多少个字母,多少个数字,多少个空格,和多少个其它字符,怎么办?

你的程序主要是错在了判断条件上,64<'c'<91要写成64<c&&c<91或者'A'<=c&&c<='Z',注意了标识符c是不用加单引号的。修改过的程序如下:
#include<stdio.h>
#include<iostream.h>
main()
{
char c;
int t1=0,t2=0,t3=0,t4=0,d=0;
printf("Input some chars:\n");

do
{ scanf("%c",&c);
cout<<c<<endl;
if( ('a'<=c&&c<='z')||('A'<=c&&c<='Z') )// 字母
t1++;
else if( '0'<=c&&c<='9' ) //数字
t2++;
else if(c==32 ) //空格
t3++;
else
t4++; //最后的回车也算是一个其他字符
}while (c!='\n');
printf("%d,%d,%d,%d",t1,t2,t3,t4);
}