首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。 例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请改正fun函数中的错误,使它能得出正确的结果。
给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。 例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请改正fun函数中的错误,使它能得出正确的结果。
admin
2021-02-25
94
问题
给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。
例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。
请改正fun函数中的错误,使它能得出正确的结果。
注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!
#include
#include
void fun(int m,~nt k)
{
int Eta[20],i;
for(i=0;m;i++)
{
/**********found**********/
aa
=m/k;
m/=k;
}
for(;i ; i--)
/**********found**********/
printf("%d",aa
);
}
main()
{
int b,n;
printf("\nPlease enter a number
and a base:\n");
scanf("%d%d",&n,&b);
fun(n,b),
printf("\n"),
}
选项
答案
(1)aa[i]=m%k; (2)printf("%d", aa[i-1]);
解析
(1)第二个标识下的“aa
=m/k;”是进制的转换,应该是取余,所以第二个标识下“aa
=m/k;”应该改为“aa
=m%k;”。
(2)数制转换处理过程中所得的结果,和实际要输出的结果顺序是相反的,所以必须对存放余数的数组反向输出。原题中“printf("%dt",aa
);”的下标有误。因为下标i的起始值为0,故反向输出时应该从i-1开始,因此改为“printfi("%d",aa[i-1]);”。
转载请注明原文地址:https://kaotiyun.com/show/TLtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下fun函数返回数组中最大值的下标#includeintfun(int*s,intn){inti,k;for(i=0,k=i;is[k])__________;return(k);}在横线处应填入的
以下叙述中正确的是
以下关于C语言数据类型使用的叙述中错误的是
以下关于字符串的叙述中正确的是
由以下while构成的循环,循环体执行的次数是intk=0;while(k=1)k++;
设循环队列的存储空间为Q(1:m),初始状态为空。现经过一系列正常的人队与退队操作后,front=m,rear=m-1,此后从该循环队列中删除一个元素,则队列中的元素个数为()。
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、P、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。若有以下程序段:q=s;s=s->next;p=s;while(p->nex
在数据库中,数据模型包括数据结构、数据操作和
随机试题
下列选项中,()模块是通过雕、刻、塑、敲击、焊接、装配和编织等手段,创造出具有实在体积的艺术形象。
A.柴胡B.升麻C.木贼D.葛根功能解表透疹,清热解毒,升举阳气的药物是
下列各穴中,属足太阴脾经的是
麻醉前用药错误的是
丙烯酸类密封膏具有良好的黏结性能,但不宜用于()。
某建设工程施工方拟采用某种新型材料,但该材料不符合现行强制性标准规定,则()。
西蒙的有限理性模型更加接近现实,该模型认为( )。
学校文化的内容有()
有如下程序:#includeusingnamespaeestd;classA{public:A(){eout
Itwasinthevillage______nowisasmalltown______theearthquakeoccurred.
最新回复
(
0
)