首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODl1.C中函数fun的功能:将一个十进制整数n转换成r(二~十六)进制形式。 示例如下。 输入125 16,则输出:7D 输入9 2,则输出:1001 请改正程序中的错误,使它能得出正确的结果。
给定程序MODl1.C中函数fun的功能:将一个十进制整数n转换成r(二~十六)进制形式。 示例如下。 输入125 16,则输出:7D 输入9 2,则输出:1001 请改正程序中的错误,使它能得出正确的结果。
admin
2022-10-25
94
问题
给定程序MODl1.C中函数fun的功能:将一个十进制整数n转换成r(二~十六)进制形式。
示例如下。
输入125 16,则输出:7D
输入9 2,则输出:1001
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
void fun(int num,int r)
{int i=0,a[32];
char b[16]={’0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’A’,’B’,’C’,’D’,’E’,’F’};
do
{
a
=num%r;
/************found************/
num%=r;
i++:
/************found************/
}while(num==0);
/************found************/
for(i;i>0;--i)
printf(”%c”,b[a
]);
}
int main()
{ int num,r;
printf(”\n请输入整数和进制:”);
scanf(”%d%d”,&num,&r);
fun(num,r);
printf(”\n”);
return 0;
选项
答案
(1)num/=r;或者num=num/r; (2)while(num>0);或者while(num!=0); (3)for(﹣﹣i;i>=0;﹣﹣i)或者for(i﹣﹣;i>=0;﹣﹣i)
解析
将十进制整数转换为r进制数可以采用基数除法,即除基数取余法,余数反序排列。
(1)数组a中存放变量num除以r的余数。nun等于变量num除以r的商。此处将“num%=r;”修改为“num/=r;”或者“num=num/r;”。
(2)当变量num的值为0时循环退出。正常进行循环的条件为nun不等于0,或者num>0。此处将“while(num==0);”修改为“while(num>0);”或者“while(num!=0);”。
(3)将得到的余数逆序存放,此时的i为余数的个数,此处需要i减1后,作为循环变量遍历数组a,循环条件为i>=0。此处将“for(i;i>0;﹣﹣i)”修改为“for(﹣﹣i;i>=0;﹣﹣i)”或“for(i﹣﹣;i>=0;﹣﹣i)”。
转载请注明原文地址:https://kaotiyun.com/show/tCkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长<N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结
若有定义语句charc=’\101’;则变量c在内存中占
有以下程序:#includestruetord{intx,y;}dt[2]={1,2,3,4};main(){struetord*p=dt:printf("%d,",++
设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:口代表空格字符)()。
给定程序modi1.C的主函数中,将a、b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun()的作用是:累加链表结点数据域中的数据作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增
有以下程序#include<stdio.h>#defineFNA(x)x*x#defineFNB(x)x+xmain(){inta=2,b=4;printf("%d,%d
有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为()。
有如下程序#include<stdio.h>main(){intx=0x13;if(x=0x18)printf("T");printf("F");printf("\n");}程序运行后的输出
若函数中有定义语句:inta;,则()。
定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。for(i=0;i
随机试题
以下关于建设程序的主要内容叙述不正确的是()
干旱会造成粮食歉收,使得粮食的供给曲线()
A.Perthes试验B.Trendelenburg试验C.Pratt试验D.Branham征E.5P征急性动脉栓塞的临床表现是
50岁妇女,绝经后1年,接触性出血2个月,宫颈涂片Ⅳ级来诊,确诊首选辅助检查方法是
预防口腔疾病的口腔自我保健方法是
下列应当按《水利工程设计概(估)算编制规定》编制的有()。
请从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。()
三个容积相同的瓶子里装满了酒精溶液,酒精与水的比分别是2:1,3:1,4:1。当把三瓶酒精溶液混合后.酒精与水的比是多少?
AsiansseetheUnitedStateslosingitsundisputedinternationalinfluencein50yearstopossiblyChinaamidwaningtrustinWa
Onceuponatime,abusinessmannamedRayKrocdiscoveredarestaurantownedbytwobrothers.Therestaurant【S1】______justfou
最新回复
(
0
)