| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 559 人关注过本帖
标题:进制转换的一个问题,,请教一下?
只看楼主 加入收藏
学员丁
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2012-8-20
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
进制转换的一个问题,,请教一下?
程序代码:
printf("请输入需要进行转换的数:\n");
    scanf("%d",&number);
    printf("请选择要进行转换的类型:\n");

    scanf("%d",&choice);
    int a[20];
    if(choice==1)  { for(int n=0;n>=0;n++)
                            { a[n]=number%2;
                             if(number/2==0) break;
                             number=number/2;
                             }
                    printf("转换结果为:\n");
                    for(;n>=0;n--)
                    printf("%d",a[n]);
                    printf("\n");
                  
                     }
这个进制转换,,假设number==10     ,那再执行if(number/2==0) break; 之后 不就跳出循环了吗,,,,就一个a[0]输出啊,,,想了很久没想明白,,谁能说一下第一个循环是怎么编译的?
搜索更多相关主题的帖子: choice number 
2012-08-30 12:38
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:3 
continue
2012-08-30 13:25
JON_me
Rank: 2
等 级:论坛游民
帖 子:30
专家分:68
注 册:2012-5-4
收藏
得分:3 
printf("请输入需要进行转换的数:\n");
     scanf("%d",&number);
     printf("请选择要进行转换的类型:\n");
 
    scanf("%d",&choice);
     int a[20];
     if(choice==1)  { for(int n=0;n>=0;n++)   //不会使你陷入无限循环么
                             { a[n]=number%2;
                              if(number/2==0) break;  //这里讲break改成continue就可以了,不过数组a可能会发生溢出
                              number=number/2;
                              if(n==19)break;     //个人加个跳出条件
                              }
                     printf("转换结果为:\n");
                     for(;n>=0;n--)
                     printf("%d",a[n]);
                     printf("\n");
                  
                      }

因为爱情,不会轻易悲伤······
2012-08-31 16:35
学员丁
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2012-8-20
收藏
得分:0 
回复 3楼 JON_me
我研究一下
2012-08-31 19:24
学员丁
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2012-8-20
收藏
得分:0 
回复 3楼 JON_me
得不到结果,,,,,但是能执行,
2012-08-31 19:37
a745043791
Rank: 4
等 级:业余侠客
帖 子:95
专家分:260
注 册:2012-2-12
收藏
得分:3 
有错吗?没有错!number==10时,number/2==5,OK?
2012-08-31 19:54
a745043791
Rank: 4
等 级:业余侠客
帖 子:95
专家分:260
注 册:2012-2-12
收藏
得分:0 
倒是有个小问题,数组大小改为32就行了。
2012-08-31 19:58
包头师范学校
Rank: 2
等 级:论坛游民
帖 子:26
专家分:51
注 册:2012-8-24
收藏
得分:3 
我想问楼主进制转换的概念你是否有清晰的概念,编程之前应该把该想的都想到。不要纠结于编码本身的问题。
2012-09-01 12:07
学员丁
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2012-8-20
收藏
得分:0 
回复 7楼 a745043791
谢谢,自己想多了,,程序是对的,自己也想明白了。不过改成32,4个字节理论上是更加合理一点的!    新手初到,不吝赐教!
2012-09-01 15:47
快速回复:进制转换的一个问题,,请教一下?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017136 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved