将十进制正整数用除n取余法转换为n进制数输出.这个哪里错了啊,一运行就程序崩溃
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/21 17:40:43
将十进制正整数用除n取余法转换为n进制数输出.这个哪里错了啊,一运行就程序崩溃
#include
void main()
{
int i,j,r,a,n,b[32];
char h[33];
printf("请输入一个十进制数\n");
scanf("%d",&a);
printf("请输入要将十进制数转换成n进制数的n\n");
scanf("%d",&n);
switch(n)
{
case 2:while(a>0)
{r=a%2;
b[i]=r;
a=a/2;
i++;
}
for(j=i;j>=0;j--) printf("%d",b[i]);break;
case 8:while(a>0)
{r=a%8;
b[i]=r;
a=a/8;
i++;
}
for(j=i;j>=0;j--) printf("%d",b[i]);break;
case 16:while(a>0)
{r=a%16;
if(r=0;j--) printf("%c",h[i]);break;
default:printf("n输入有误\n");
}
printf("以上为转换结果\n");
}
case 2:和case 8:可以合并的吧,函数调用不太会,还是崩溃中啊
#include
void main()
{
int i,j,r,a,n,b[32];
char h[33];
printf("请输入一个十进制数\n");
scanf("%d",&a);
printf("请输入要将十进制数转换成n进制数的n\n");
scanf("%d",&n);
switch(n)
{
case 2:while(a>0)
{r=a%2;
b[i]=r;
a=a/2;
i++;
}
for(j=i;j>=0;j--) printf("%d",b[i]);break;
case 8:while(a>0)
{r=a%8;
b[i]=r;
a=a/8;
i++;
}
for(j=i;j>=0;j--) printf("%d",b[i]);break;
case 16:while(a>0)
{r=a%16;
if(r=0;j--) printf("%c",h[i]);break;
default:printf("n输入有误\n");
}
printf("以上为转换结果\n");
}
case 2:和case 8:可以合并的吧,函数调用不太会,还是崩溃中啊
i是局部变量,程序不会对它初始化,所以你不能假定i初始值为0,应该在程序开头加上i=0语句.
再问: 额,改了后,不崩溃了,但是出现乱码了,逻辑有错,求帮助啊
再答: for(j=i;j>=0;j--) printf("%d",b[i]);改为for(j=i-1;j>=0;j--) printf("%d",b[i]);
再问: 是i吧,i-1改了以后还是一堆乱七八糟的数字
再答: 哦,你printf("%d",b[i]);不对,要改为printf("%d",b[j]);
再问: 额,改了后,不崩溃了,但是出现乱码了,逻辑有错,求帮助啊
再答: for(j=i;j>=0;j--) printf("%d",b[i]);改为for(j=i-1;j>=0;j--) printf("%d",b[i]);
再问: 是i吧,i-1改了以后还是一堆乱七八糟的数字
再答: 哦,你printf("%d",b[i]);不对,要改为printf("%d",b[j]);
将十进制正整数用除n取余法转换为n进制数输出.这个哪里错了啊,一运行就程序崩溃
存在一十进制数(正整数)n,以及一个进制m,编写程序将n转换为m进制表示并输出.
输入一个十进制的正整数,将该数转换成n进制数,并输出.
用 Pascal 编写一个程序将十进制整数n转换为二进制数.
用Pascal编写一程序,输入一个正整数N,将N分解成质因数幂的乘积形式(帮忙看一下我哪里错了)
给定程序的功能是将十进制正整数m转换成k进制的数字输出
Visual FoxPro.设计程序并标出运行结果.用键盘输入一个正整数N,并计算1,2,3,…,N的和 ,输出计算结
C语言找错误,(2)以下程序的功能是:从键盘输入一个三位的八进制正整数,然后将其转换为对应的十进制数并输出.请改正其中的
(2014•福建)阅读如图所示的程序框图,运行相应的程序,输出的n的值为( )
编写函数T(n,m)把m进制正整数n转换成十进制正整数,m为1~10的整数.调用函数T得出结果
用c语言编写一个将十六进制数转换为十进制数的程序
请问怎么输出下面的图形,要用C语言设计一程序 n n n n n n n n n n n n n n n n