好菜的大学生 2020-03-19 11:26 采纳率: 25%
浏览 801

下面程序的功能是将十进制正整数num转换成n进制,并输出。

我的代码是:
#include
using namespace std;
int main()
{
int num, n, i=0, j, a[20];
cout<<"输入要转换的十进制整数:";
cin>>num;
cout<<"输入要转换的进制:";
cin>>n;
do
{
i++;
a[i]=num%n;
num=num/n;

}while(num!=0);
for(j=i;j>=0;j--)cout<<a[j];

cout<<endl;
return 0;
}
为什么输出的前几位是正确答案,后面总是有4253504呢

  • 写回答

2条回答 默认 最新

  • zqbnqsdsmd 2020-03-19 11:28
    关注

    因为后面的没有赋值,所以是随机值

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    int n,r,i,t,b;
    char a[100];
    char c[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //a数组用储存转后每位的数字,//c用来代表超过9后每位的数字。 
    scanf("%d%d",&n,&r);
    t=n;
    t=(int)fabs(t);
    for(i=0;;i++)
    {
     b=t%r;
     if(b>=10)
      a[i]=c[b-10];
     else
      a[i]=b+'0';
     t=(t-b)/r;
     if(t==0)
      break;}
    if(n<0)
    printf("-");
    for(;i>=0;i--)
    printf("%c",a[i]);
    printf("\n");
    return 0; }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致
  • ¥15 禅道二次开发编辑版本,上传不了发行包