该改的都改了还是报错,在线等,绝对给分
#include <stdio.h>
void main()
{
int a,b,c,d;
char x;
do
{
printf( "请输入: ");
fflush(stdin);
while(x!= '\n ');
{
x=getchar();
if( 'a ' <=x <= 'z ')
a++;
else (x= '\n ')
printf( "\n其中小写字母有%d个 ",a);
}
while(x!= '\n ');
{
x=getchar();
if(x= ' ')
b++;
else (x= '\n ')
printf( "\n空格有%d个 ",b);
}
while(x!= '\n ');
{
x=getchar();
if( 'A ' <=x <= 'Z ')
c++;
else ( "x= '\n ' ")
printf( "\n大写字母有%d个 ",c);
}
while(x!= '\n ');
{
x=getchar();
d++;
printf( "\n其他字符有:%d ",d);
}
while(x!= '\n ');
}
printf( "\n小写字母有%d个 "a);
printf( "\n空格有%d个 ",b);
printf( "\n大写字母有%d个 ",c);
printf( "\n其他字符有%d个 ",d);
}
[解决办法]
a,b,c,d没初始化吧.
在int a,b,c,d;下加
a = 0;
b = 0;
c = 0;
d = 0
试下.
[解决办法]
int a,b,c,d;
char x;
a=b=c=d=0;
printf( "请输入: ");
fflush(stdin);
do
{
x=getchar();
if( 'a ' <=x && x <= 'z ') a++;
else
{
if( 'A ' <=x && x <= 'Z ') c++;
else
{
if(x== ' ')b++;
else d++;
}
}
}while(x!= '\n ')
printf( "小写字母有%d个\n ",a);
printf( "空格有%d个\n ",b);
printf( "大写字母有%d个\n ",c);
printf( "其他字符有%d个\n ",d);
[解决办法]
a,b,c,d没初始化
你給個初始值
[解决办法]
if( 'a ' <=x <= 'z ')
没这种语法.
if ( 'a ' <= x && x <= 'z ')
[解决办法]
else (x= '\n ')
else if (x == '\n ')
[解决办法]
错误
第一:while(x!= '\n ');
while循环语句后面是不需要 '; '号的
第二:else ( "x= '\n ' ")这个语法有问题,
要么就是else x= '\n '
要么就是else if (x== '\n ')
第三:printf( "\n小写字母有%d个 "a);
这条语句是由问题的,少个逗号,估计这个是你笔误
第四:if( 'A ' <=x <= 'Z ')
这样的条件判断是没有的,if( 'A ' <=x && x <= 'Z ')
第五:你应该看看基础的东西,从语句开始看
第六:写代码的时候要注意格式,不然的话你发上来一大堆人家可能都不愿意给你看
[解决办法]
修改你的程序如下
#include <stdio.h>
void main()
{
int a,b,c,d;
char x;
a=b=c=d=0;
printf( "请输入: ");
do
{
if(x> = 'a '&&x <= 'z ')
a++;
else if(x== ' ')
b++;
else if(x> = 'A '&&x <= 'Z ')
c++;
else
{
d++;
}
}while((x=getchar())!= '\n ');
printf( "\n小写字母有%d个 ",a);
printf( "\n空格有%d个 ",b);
printf( "\n大写字母有%d个 ",c);
printf( "\n其他字符有%d个 ",d);
}