大神帮忙解释一下啊!输入一个十进制正整数,将其转换成16进制并输出。
【程序说明】输入一个十进制正整数,将其转换成16进制并输出。【程序代码】#include<stdio.h>intmain(){inti,p,n;intnumber[40]...
【程序说明】
输入一个十进制正整数,将其转换成16进制并输出。
【程序代码】
#include <stdio.h>
int main()
{
int i,p,n;
int number[40];
scanf("%d",&n)
p=-1;
while(_____(27)_______)
{
number[++p]=______(28)_______;
______(29)_______;
}
for(i=p;i>=0;i--)
{
if(_______(30)________)
printf("%d",number[i]);
else
printf("%c",________(31)_________);
}
printf("\n");
return 0;
}
【选项】
(27)
[A] n=0 [B] n!=0
[C] n==0 [D] n>=0
(28)
[A] n%16 [B]n/16
[C] n-number[p]*16 [D]n-number[p-1]*16
(29)
[A] n=n-number[p] [B] n=n-number[p-1]
[C] n/=16 [D] n%=16
(30)
[A] number[i]!=0 [B] number[i]<10
[C] number[i]>0 [D] number[i]>=10
(31)
[A] number[i] [B] 'A'+number[i]
[C] number[i]-10 [D] 'A'+number[i]-10 展开
输入一个十进制正整数,将其转换成16进制并输出。
【程序代码】
#include <stdio.h>
int main()
{
int i,p,n;
int number[40];
scanf("%d",&n)
p=-1;
while(_____(27)_______)
{
number[++p]=______(28)_______;
______(29)_______;
}
for(i=p;i>=0;i--)
{
if(_______(30)________)
printf("%d",number[i]);
else
printf("%c",________(31)_________);
}
printf("\n");
return 0;
}
【选项】
(27)
[A] n=0 [B] n!=0
[C] n==0 [D] n>=0
(28)
[A] n%16 [B]n/16
[C] n-number[p]*16 [D]n-number[p-1]*16
(29)
[A] n=n-number[p] [B] n=n-number[p-1]
[C] n/=16 [D] n%=16
(30)
[A] number[i]!=0 [B] number[i]<10
[C] number[i]>0 [D] number[i]>=10
(31)
[A] number[i] [B] 'A'+number[i]
[C] number[i]-10 [D] 'A'+number[i]-10 展开
推荐于2017-12-16
展开全部
int i,p,n;
int number[40];
scanf("%d",&n); //原题这儿少了一个分号
p=-1;
while(n!=0) //(27)选D //采用的转换方法叫:除模取余倒着读,和短除法分解质因数类似
{
number[++p]=n%16; //(28)选A //这儿保存的是除以16后的余数
n/=16; //(29)选C 使n=原数除以16的商
}
for(i=p;i>=0;i--)
{
if(number[i]<10) //(30)选B 小于10的直接输出
printf("%d",number[i]);
else
printf("%c",'A'+number[i]-10); //(31)选D 余数>=10且<16的要变成'A'-'F'
}
printf("\n");
return 0;
展开全部
123456789101112131415161718 int i,p,n; int number[40]; scanf("%d",&n); //原题这儿少了一个分号 p=-1; while(n!=0) //(27)选D //采用的转换方法叫:除模取余倒着读,和短除法分解质因数类似 { number[++p]=n%16; //(28)选A //这儿保存的是除以16后的余数 n/=16; //(29)选C 使n=原数除以16的商 } for(i=p;i>=0;i--) { if(number[i]<10) //(30)选B 小于10的直接输出 printf("%d",number[i]); else printf("%c",'A'+number[i]-10); //(31)选D 余数>=10且<16的要变成'A'-'F' } printf("\n"); return 0;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询