首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODl1.c中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODl1.c中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2020-06-16
45
问题
给定函数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://www.kaotiyun.com/show/0KCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#includeintf(intx,inty){return((y—x)*x);}voidmain(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));
若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x—y)?(x++):(y++)中的条件表达式(x—y)等价的是()。
程序流程图中带有箭头的线段表示的是()。
有以下程序:#includemain(){intX;for(X=3;X
给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中的错误,使它能得出正确的结果。注意:部分源程序
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,其功能是:把低于平均分的学生数据放入b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序给出如下。请勿改动
函数fun的功能是:将a、b两个两位正整数合并成一个新的整数放在C中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上。例如,当a=45,b=12,调用该函数后C=1425。注意:部
下列叙述中正确的是()。
以下叙述中错误的是()。
随机试题
Itishightimethatsuchapractice______anendto.
A.B级B.A级C.D级D.C1级E.C2级有全层的视网膜固定皱襞,且病变范围位于2个象限,属于国际视网膜学会(1983)PVR分级的
17岁女性。右侧下颌骨逐渐膨大8年。近来增大速度减慢。检查见下颌骨体部弥漫性膨大,但以颊侧更明显,质硬。X线片示右下颌骨体部呈磨砂玻璃样,与骨皮质相移行。术后标本病理检查发现纤维组织代替正常骨组织,其中有较多的纤细骨小梁。可能的诊断为
A、创伤性溃疡B、放射性损伤C、化学性灼伤D、热损伤E、疱疹性口炎长期刺激可发生癌变的是
发行申请文件一经申报后,未经中国证监会同意,不得随意增加、撤回或更改。()
民族区域自治制度与特别行政区制度的区别不包括()。
某高校对所有报名参加国庆60周年检阅方阵的学生进行了体检,没有发现心脏异常者。如果以上陈述为假,则以下哪项必真?I.虽然有的报名者没有体检,但是还是发现了心脏异常者Ⅱ.或者有的报名者没有体检,或者在报名者中发现了心脏异常者
Marshasbeenmuchpossessedbydeath.Inthelate19thcenturyPercivalLowell,anAmericanastronomer,persuadedmuchofthep
在某个事件过程中定义的变量是
Theageatwhichkidsfirstfallvictimtobullying(欺侮)couldinfluencehowstronglytheyareaffected,suggestsanewstudy.And
最新回复
(
0
)