鱼C论坛

 找回密码
 立即注册
查看: 1694|回复: 4

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

[复制链接]
发表于 2016-9-6 22:35:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

十进制转换成二进制,我做了个算法用for语句,成功了,可我想多次计算就写了个while语句,但发现还是只能运行一次,请各位大牛帮我看看,新手我是。
  1. #include <stdio.h>
  2. #include <math.h>
  3. void main()
  4. {
  5.         int a,n,x,i,y;
  6.         printf("请输入一个数\n");
  7.         scanf("%d",&a);
  8.        
  9.        
  10.         for (n=0,i=1;i<9;i++,n++)
  11.         {
  12.                 if (a<=127)
  13.                 {
  14.                         x=pow(2,n);
  15.                         printf("%d\n",(a/x)%2);
  16.                        
  17.                 }
  18.                
  19.         }
  20.         printf("是否继续\n");
  21.         getchar();
  22.         while(1)
  23.         {
  24.        
  25.        
  26.         if(y=='y')
  27.                
  28.         {
  29.                 printf("请输入一个数\n");
  30.                 getchar();
  31.             scanf("%d",&a);
  32.                         for (n=0,i=1;i<9;i++,n++)
  33.                 {
  34.                 if (a<=127)
  35.                         {
  36.                         x=pow(2,n);
  37.                         printf("%d\n",(a/x)%2);
  38.                        
  39.                 getchar();
  40.                 printf("是否继续\n");
  41.                 getchar();
  42.                
  43.                 y=getchar();
  44.                         }       
  45.                 }
  46.         }       
  47.         else if (y!='y')
  48.         {
  49.                 printf("运行结束\n");
  50.                 break;
  51.        
  52.         }
  53. }
  54.        
  55. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-6 23:19:27 | 显示全部楼层
你真没什么资格不耻下问
  1. #include <stdio.h>
  2. #include <math.h>
  3. main(void)
  4. {
  5.         int a,n,x,i,y;
  6.         printf("请输入一个数\n");
  7.         scanf("%d",&a);


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

  14.                 }

  15.         }
  16.         printf("是否继续\n");
  17.         getchar();
  18.         y=getchar();
  19.         while(1)
  20.         {
  21.                 if(y=='y')

  22.                 {
  23.                         printf("请输入一个数\n");               
  24.                         scanf("%d",&a);
  25.                         for (n=0,i=1; i<9; i++,n++)
  26.                         {
  27.                                 if (a<=127)
  28.                                 {
  29.                                         x=pow(2,n);
  30.                                         printf("%d\n",(a/x)%2);
  31.                                 }

  32.                         }
  33.                        
  34.                 }
  35.                 else
  36.                 {
  37.                         printf("运行结束\n");
  38.                         break;

  39.                 }
  40.                
  41.                 printf("是否继续\n");
  42.                 getchar();

  43.                 y=getchar();
  44.         }
  45. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-9 10:50:59 | 显示全部楼层
最开始的y没有赋值,所以lz直接就进行判断的话就会出问题,直接走到break啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-9 18:08:05 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-9 22:13:05 | 显示全部楼层
菜鸟dc 发表于 2016-9-9 10:50
最开始的y没有赋值,所以lz直接就进行判断的话就会出问题,直接走到break啦

后来修改了,Y赋值了还是一样的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-13 08:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表