首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。 例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请改正fun函数中的错误,使它能得出正确的
给定程序MODll.C中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。 例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请改正fun函数中的错误,使它能得出正确的
admin
2015-06-08
60
问题
给定程序MODll.C中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。
例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。
请改正fun函数中的错误,使它能得出正确的结果。
注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!
#inolude
#include
void fun(int m,int k)
{
int aa[20], i;
for(i=0 ; m;i++)
{
/**********found***********/
aa
=m/k;
m/=k;
}
for(;i;i一一)
/**********found***********/
printf(“%d”,aa
);
}
main()
{
int b,n;
print f(“\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]);
解析
函数的功能是将十进制正整数m转换成k(2≤k≤9)进制数。
(1)第二个标识下的“aa
=m/k;”是进制的转换,应该是取余,所以第二个标识下“aa
=m/k;”应该改为“aa
=m%k;”。
(2)数制转换处理过程中所得的结果,和实际要输出的结果顺序是相反的,所以必须对存放余数的数组反向输出。原题中“printf(“%d”t.aa
);”的下标有误。因为下标i的起始值为0,故反向输出时应该从i-1开始,因此改为“printf(“%d”,aa[i—1]);”。
转载请注明原文地址:https://kaotiyun.com/show/gaJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请选出以下程序的输出结果_______。#include<stdio.h>sub(int*s,inty){staticintt=3,y=s[t];t-;}main(){inta[]={
以下不能正确定义二维数组的选项是()。
模块化程序设计主要强调的是()。
下图所示的二叉树的先序遍历序列是()。
已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是
有以下程序段:intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是()。
下列叙述中正确的是()。
以下叙述中不正确的是______。
一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。
有下列二叉树,对此二叉树前序遍历的结果为()。
随机试题
木箱苗栽植放稳后,即可以拆除边板,再填土夯实
以下描述破伤风的发病特点,哪项是错误的
怀孕9个月的高龄孕妇,下颌第三磨牙近中阻生,近3天牙冠周围牙龈红肿,触痛明显,此时比较适宜的治疗方法是()
某城市道路工程因故于2005年8月中止施工,建设单位按规定报告了施工许可证发证机关,2006年11月该工程拟恢复施工,根据《建筑法》的规定,建设单位应当()。
关于非经营性项目财务分析的要求,说法正确的是()。
目前大量采用的元机结合料稳定基层材料,都具备()特点。
供应链具有以下()的特征。
境内自然人申请开立B股账户,需先开立B股资金账户。( )
求
Therearesomestepsyoucantakeyourselftoavoidcatchingacold.Contrarytopopularbelief,coldsarenotcausedbyexposur
最新回复
(
0
)