标题:简单的转换进制问题
只看楼主
兔先生
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491220-1-1.html




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

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