首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODl1.c中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODl1.c中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2020-06-16
33
问题
给定函数MODl1.c中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。
例如,若输入:77777,则输出将是:32767。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
1 #include<stdio.h>
2 #include<string.h>
3 #inolude<stdlib.h>
4 int fun(char*p)
5 { int n;
6 /**********found**********/
7 n=*p-’o’;
8 p++;
9 while(*p!=0) {
10 /**********found**********/
11 n=n*8+*p-’0’;
12 p++;
13 }
14 return n;
15 }
16 main()
17 { char s[6];int i;int n ;
18 printf(’’Enter a string (ocatal digits):’’);gets(s);
19 if(strlen(s)>5){printf(’’Error:stririg too longer!\n\n’’); exit(0);}
20 for(2=0;s
;i++)
21 if{s
<’0’|| s
>’7’{
22 { printf(’’Error: %c not is ocatal digits!\n\n’’,s
);exit(0);}
23 printf(’’The original string:’’);puts(s);
24 n=fun(s);
25 printf(’’\n%S is convered to integer number:%d\n\n’’,s,n);
26 }
选项
答案
(1)n=*p-’0’; (2)n=n*8+*p-’0’;
解析
函数功能是实现八进制到十进制的转换。
(1)第一个标识下面:语句“n=*p-’o’;”中的’o’不是数字零,而是字母’o’,根据前面的分析因此改为:“n=*p-’0’;”。
(2)第二个标识下面:语句“n=n*8+*p-’o’”,首先进行同(1)相同的修改,变量P没有定义,根据题意要求这里应该是“*p-’0’”,所以此句改为:“n=n*8+*p-’0’;”。
转载请注明原文地址:https://kaotiyun.com/show/0KCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#includevoidfun(intx){if(x/2>1)fun(x/2);prinff(“%d”,X);}voidmain(){fun(7);prinff(“\n”);}程序运行后的结果是(
有以下程序:#includemain(){inti,array[6]={1,5,0,4};for(i=0;i
函数fun的功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=12时,调用该函数后c:4152。注意:部分
下列给定程序中,函数fun的功能是:将n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#incl
请编写函数fun,该函数的功能是:求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。例如,若二维数组中的值为:13579299946
给定程序中,函数fun的功能是:根据形参i的值返回某个函数的值。当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000。注意:部分源程序在文件BT,ANK1.C中。
编写函数fun,其功能是:将S所指字符串中除了下标为奇数同时ASCII码值也为奇数的字符之外,其余的所有字符全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若S所指字符串的内容为“ABCDEFGl2345”,其中字符A的ASCI
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,下列选项中错误的程序是()。
以下叙述中正确的是()。
随机试题
行政机关应当将法律、法规和规范性文件规定的有关行政许可需要提交的全部材料的目录和申请书示范文本等在办公场所公示。()
关于小肝癌的CT诊断,不正确的是
目前,国际储备多元化表现为【】
企业的各种产品都有自己独特的包装,在设计上采用不同的风格、色调和材料。这种包装策略属于()
卵巢表面的生发上皮,有向多种组织分化的能力,向输卵管上皮分化会形成________肿瘤;若向宫颈黏膜分化,可形成________肿瘤;向子宫内膜分化可形成________肿瘤。
患者,女,45岁,因左侧面颊部皮肤及左侧舌部黏膜发红、起疱3天,伴剧痛来诊。查体:体温38.5℃,左侧面部皮肤及左侧舌背、颊黏膜可见粟粒大小的密集成片的透明水疱,周围皮肤黏膜可见充血性红斑。化验:WBC7.8×109/L,中性粒细胞62%,淋巴细胞34%。
恒生香港综合指数包括了恒生香港大型股指数、中型股指数、小型股指数以及红筹股指数四种指数。( )
恒生中国内地指数分为恒生中国企业指数和恒生中资企业指数。()
TheindividualTVviewerinvariablysensesthatheorsheis______ananonymous,statisticallyinsignificantpartofahugeandd
设有一个M*N的矩阵已经存放在一个M行N列的数组x中,且有以下程序段sum=0;for(i=0;i
最新回复
(
0
)