zzg9929 发表于 2016-9-6 22:35:04

我又来不耻下问来了,关于while嵌套for语句

本帖最后由 康小泡 于 2016-9-7 10:39 编辑

十进制转换成二进制,我做了个算法用for语句,成功了,可我想多次计算就写了个while语句,但发现还是只能运行一次,请各位大牛帮我看看,新手我是。
#include <stdio.h>
#include <math.h>
void main()
{
        int a,n,x,i,y;
        printf("请输入一个数\n");
        scanf("%d",&a);
       
       
        for (n=0,i=1;i<9;i++,n++)
        {
                if (a<=127)
                {
                        x=pow(2,n);
                        printf("%d\n",(a/x)%2);
                       
                }
               
        }
        printf("是否继续\n");
        getchar();
        while(1)
        {
       
       
        if(y=='y')
               
        {
                printf("请输入一个数\n");
                getchar();
          scanf("%d",&a);
                        for (n=0,i=1;i<9;i++,n++)
                {
                if (a<=127)
                        {
                        x=pow(2,n);
                        printf("%d\n",(a/x)%2);
                       
                getchar();
                printf("是否继续\n");
                getchar();
               
                y=getchar();
                        }       
                }
        }       
        else if (y!='y')
        {
                printf("运行结束\n");
                break;
       
        }
}
       
}

Krant5 发表于 2016-9-6 23:19:27

你真没什么资格不耻下问#include <stdio.h>
#include <math.h>
main(void)
{
        int a,n,x,i,y;
        printf("请输入一个数\n");
        scanf("%d",&a);


        for (n=0,i=1; i<9; i++,n++)
        {
                if (a<=127)
                {
                        x=pow(2,n);
                        printf("%d\n",(a/x)%2);

                }

        }
        printf("是否继续\n");
        getchar();
        y=getchar();
        while(1)
        {
                if(y=='y')

                {
                        printf("请输入一个数\n");               
                        scanf("%d",&a);
                        for (n=0,i=1; i<9; i++,n++)
                        {
                                if (a<=127)
                                {
                                        x=pow(2,n);
                                        printf("%d\n",(a/x)%2);
                                }

                        }
                       
                }
                else
                {
                        printf("运行结束\n");
                        break;

                }
               
                printf("是否继续\n");
                getchar();

                y=getchar();
        }
}

菜鸟dc 发表于 2016-9-9 10:50:59

最开始的y没有赋值,所以lz直接就进行判断的话就会出问题,直接走到break啦{:10_254:}

zs001 发表于 2016-9-9 18:08:05

{:5_90:}

zzg9929 发表于 2016-9-9 22:13:05

菜鸟dc 发表于 2016-9-9 10:50
最开始的y没有赋值,所以lz直接就进行判断的话就会出问题,直接走到break啦

后来修改了,Y赋值了还是一样的
页: [1]
查看完整版本: 我又来不耻下问来了,关于while嵌套for语句