该改的都改了还是报错,绝对给分

该改的都改了还是报错,在线等,绝对给分
#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( "请输入: ");