首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
70
问题
给定程序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全国计算机二级
相关试题推荐
有以下程序:#lnclude<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出
有以下程序:#includeintfun(intX){intP;if(x==0||x==1)return(3);P=x—fun(x一2);returnP;
请编写函数fun,函数的功能是:删去一维数组电所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,一维数组中的数据是:2223445666677899101010
给定程序modi1.C的主函数中,将a、b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun()的作用是:累加链表结点数据域中的数据作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增
若有定义 inta,b,c;以下选项中的赋值语句正确的是()。
有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为()。
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回
设有定义:intx=0,*p;紧接着的赋值语句正确的是()。
随机试题
根据种群的发展趋势,种群的年龄结构可分为______、稳定型种群和衰退型种群。
A.黑质B.丘脑底核C.新纹状体D.旧纹状体亨廷顿病的病变部位是
关于基底膜带下列叙述错误的是
夜间值班遇一突然喘息的60岁男性病人,有以下表现,其中哪项最有助于考虑为心源性呼吸困难,而不是支气管哮喘等呼吸困难
中国甲公司向德国乙公司出口一批运动鞋,美国丙公司指控该批货物侵犯了其在德国登记注册的专利权,货物遭德国海关扣押,德国乙公司遂向中国甲公司索赔,甲公司可以成立的免责理由包括()
总承包单位依法将建设工程分包给其他单位的,总承包单位与分包单位对分包工程的质量()。
实物财产的盘点报告表可以作为记账和登记账簿的原始凭证。()
固体废物污染:是指因对固体废物的处置不当而使其进入环境,从而导致危害人体健康或财产安全,以及破坏生态系统、造成环境质量恶化的现象。下列不属于固体废物污染的有( )。
“假说”在没有事实验证的情况下还不是科学理论。现有的科学知识和理论远不是事实的全部,而我们的许多科学家在从事研究工作时,总是_______于现有的一些学说,只是试图用实验结果来证明这些假说的合理性,而不是设法去______它。实际上,许多流行的假说与科学理
Thegovernmentistobanpaymentstowitnessesbynewspapersseekingtobuyuppeopleinvolvedinprominentcases【C1】______thet
最新回复
(
0
)