首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
61
问题
给定程序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的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。例如,当S中的数为7654321时,t中的数为642。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文
有以下程序:#lnclude<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};
有以下程序#include<stdio.h>main(){chars[]={"012xy"};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=
下列给定程序中,函数fun的功能是:比较两个字符串,将长的字符串的首地址作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
有以下程序:#includeintfun(intX){intP;if(x==0||x==1)return(3);P=x—fun(x一2);returnP;
给定程序MODI1.C中函数fun的功能是:用下面的公式求x的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:例如,程序运行后,输入0.0001,则程序输出3.1414。请改正程序中的错误,使它能输出正确的结果。注意:不要改动smain
有如下程序#include<stdio.h>main(){intx=0x13;if(x=0x18)printf("T");printf("F");printf("\n");}程序运行后的输出
有以下程序#include<stdio.h>voidf(intx[],intn){if(n>1){printf("%d,",x[n-1]);f(x,n-1);}else
有以下程序:#includeintf(intm){staticintn=0;n+=m:returnn;}{main(){intn=0;p
若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()。
随机试题
我国《刑事诉讼法》第12条规定:“未经人民法院依法判决,对任何人都不得确定有罪。”该规定是否意味着我国已经确立了无罪推定的原则?为什么?(中国青年政治学院2008年研)
小儿头颈部烧伤应占体表面积的百分数是()
骨关节炎主要受累关节为
水泥混凝土路面板应设置胀缝的地方有()。
防水混凝土的配合比应符合下列()规定。
()是凭样品采购,即以样品表示标的物品质,并以样品作为交货依据的采购关系。
小说中的重要人物通常都具有鲜明的特点,以至于提到这些特点我们一下子就会想到这些人物。从人格特质的角度出发,这些特点属于这些人物的()
为了证明碳水化合物是肥胖背后的凶手,科学家进行了相关实验。研究人员将120名超重志愿者分成两组,分别食用以粗加工谷物食品、蔬菜为主的低脂饮食和以肉为主的低碳水化合物饮食各24周。结果表明,低碳水化合物节食者减掉的体重是低脂节食者的两倍。因此研究人员得出结论
以下程序的输出结果是()。#include<iostream.h>voidmain(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:c
Ofalltheareasoflearningthemostimportantisthedevelopmentofattitudes.Emotionalreactionsaswellaslogicalthought
最新回复
(
0
)