首页 > 电脑

c语言程序设计,谁帮我看一下下面这个错在哪里该怎么改?

更新时间2019-03-26 13:27:30

#include<stdio.h>

void main()

{

int a,b,c,d,e,f,g;

printf("输入一个不多于五位的正整数:");

scanf("%d",&a);

b=a/10000;

c=(a-10000*b)/1000;

d=(a-10000*b-1000*c)/100;

e=(a-10000*b-1000*c-100*c)/10;

f=(a-10000*6-1000*c-100*c-10*e);

if(b>0)

g=b+c*10+d*100+e*1000+f*10000;

    printf("这是一个五位数");

        printf("%d ",g);

else if(b==0&&c>0)

g=c+d*10+e*100+f*1000;

    printf("这是一个四位数");

        printf("%d ",g);

else if(b==0&&c==0&&d>0)

g=d+e*10+f*100;

    printf("这是一个三位数");

        printf("%d ",g);

else if(b==0&&c==0&&d==0&&e>0)

g=e+f*10;

    printf("这是一个二位数");

        printf("%d ",g);

else

g=f;

    printf("这是一个一位数");

    printf("%d ",g);

}


你程序中所有的条件判都少了{}

另外,你的计算也是错的,以下是改好的

#include<stdio.h>

 

void main()

 

{

    int a,b,c,d,e,f,g;

    printf("输入一个不多于五位的正整数:");

    scanf("%d",&a);

 

    b=a/10000;

    c=(a-10000*b)/1000;

    d=(a-10000*b-1000*c)/100;

    e=(a-10000*b-1000*c-100*d)/10; //here 

    f=(a-10000*b-1000*c-100*d-10*e); //here 

 

    if(b>0)

        {

            g=b+c*10+d*100+e*1000+f*10000;

            printf("这是一个五位数");

            printf("%d ",g);

        }

    else if(b==0&&c>0)

        {

            g=c+d*10+e*100+f*1000;

            printf("这是一个四位数");

            printf("%d ",g);

        }

    else if(b==0&&c==0&&d>0)

        {

            g=d+e*10+f*100;

            printf("这是一个三位数");

            printf("%d ",g);

        }

    else if(b==0&&c==0&&d==0&&e>0)

        {

            g=e+f*10;

            printf("这是一个二位数");

            printf("%d ",g);

        }

    else

        {

            g=f;

            printf("这是一个一位数");

            printf("%d ",g);

        }

}


相关标签:c语言

上一篇:有人帮忙做一下这个的vb吗

下一篇:vB程序运行时当文本框text内没有输入数字时候,显示为0怎么设置。