首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2017-07-27
61
问题
给定函数MODI1.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/27Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义:Structcomplex{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是()。
下述语句中,在字符串sl和s2相等时显示“theyareEqual”的是()。
关于字符常量,以下叙述正确的是()。
在数据库管理技术的发展中,数据独立性最高的是()。
一棵二叉树的前序遍历结果是ABCEDF,中序遍历结果是CBAEDF,则其后序遍历的结果是()。
字符串"%%\"ABCDEF\"\\"的长度是()。
设有如下关系表:则下列操作正确的是()。
两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是()。#include<stdio.h>main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);
数据结构分为逻辑结构和存储结构,循环队列属于【】结构。
随机试题
关于肾损伤患者进行非手术治疗的护理措施叙述不正确的是
正常肺静脉血流的多普勒频谱有什么特点
大疱性表皮松解症的皮损好发部位是
胸部CT高分辨率扫描主要用于检查
A.上颌第一磨牙B.上颌第二磨牙C.下颌第二磨牙D.下颌第一磨牙E.上颌中切牙颌面发育沟呈“十”字形牙
关于员工福利制度的说法,正确的有()。
(2013年真题)对于学习困难的学生,优秀教师总是耐心地进行个别辅导,支撑他们这样做的关键因素是其()。
某日凌晨1时许,一液化气罐车在一村庄装卸作业时不慎发生爆炸,引发大火。爆炸导致附近多户村民家中的窗户玻璃被震碎,天花板出现裂缝,村民们纷纷逃离。接到报警后,110报警服务台正确的做法有:
TheUnitedStatesiswell-knownforitsnetworkofmajorhighwaysdesignedtohelpadrivergetfromoneplacetoanotherinthe
Completethetablebelow.ChooseNOMORETHANTHREEWORDSfromReadingPassage1foreachanswer.Writeyouranswersinboxes5-
最新回复
(
0
)