| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 829 人关注过本帖
标题:简单的转换进制问题
只看楼主 加入收藏
兔先生
Rank: 2
等 级:论坛游民
帖 子:41
专家分:20
注 册:2018-11-9
结帖率:63.64%
收藏
已结贴  问题点数:20 回复次数:3 
简单的转换进制问题
转换完总会出现一个莫名其妙的数。。。
图片附件: 游客没有浏览图片的权限,请 登录注册

#include<stdio.h>
 main()
 {
     int i=0,j,m,a,b;
     int n[8];
     printf("请输入一个十位数:");
     scanf("%d",&a);
     printf("请输入像转换的进制:");
     scanf("%d",&b);
     while(a>=1)
     {
         m=a%b;
         a=a/b;
         n[i]=m;
         i++;
    }
    for(;i>=0;i--)
        printf("%6d",n[i]);
  }
搜索更多相关主题的帖子: 转换 进制 printf 输入 scanf 
2018-11-13 13:45
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
收藏
得分:10 
for循环中第一个表达式不要空,改成i-1,你的while循环结束之后i是等于2的,但实际上你只需要输出n[1]和n[0],也就是说你圈出来的那个数是n[2],因为整个程序n[2]没有参与什么运算,也没有赋值,所以它是个不可预料的数。希望对你有所帮助
2018-11-13 14:04
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:10 
以下是引用C基础在2018-11-13 14:04:05的发言:

for循环中第一个表达式不要空,改成i-1,你的while循环结束之后i是等于2的,但实际上你只需要输出n[1]和n[0],也就是说你圈出来的那个数是n[2],因为整个程序n[2]没有参与什么运算,也没有赋值,所以它是个不可预料的数。希望对你有所帮助

i-=1
i--
--i

i-1 没用

https://zh.
2018-11-13 15:31
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
收藏
得分:0 
回复 3楼 lin5161678
我的意思是让他知道变量i要减少1,不是直接填进去,怪我没说清楚,不好意思啊

[此贴子已经被作者于2018-11-13 20:00编辑过]

2018-11-13 17:43
快速回复:简单的转换进制问题
数据加载中...
 
   



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

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