首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2017-07-27
43
问题
给定函数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全国计算机二级
相关试题推荐
在下列选项中,没有构成死循环的程序段是()。
若a、b、c、d都是int型变量且都已经正确赋初值,则以下不正确的赋值语句是()。
在数据库管理技术的发展中,数据独立性最高的是()。
以下程序的运行结果是()。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(A;printf("%f\n",C);}
设有如下关系表:则下列操作正确的是()。
下述程序的输出结果是()。#include<stdio.h>voidmain(){inta[20],*p[4];inti,k=0;for(i=0;i<20;i++)a[i]=i;for(
二叉树的遍历可以分为三种:前序遍历、()遍历和后序遍历。
某二叉树中度为2的结点有10个,则该二叉树中有()个叶子结点。
随机试题
《将军族》叙述时大量使用的手法是()
肾病综合征时的利尿治疗,下列哪项不正确
支气管哮喘分型正确的是
女,70岁。间断水肿3年,加重伴乏力1个月。糖尿病病史20年,高血压病史17年。查体:BP175/85mmHg,心率85次/分,心律齐,双下肢中度水肿。实验室检查:Scr465μmol/L,血K+5.8mmol/L。尿RBC(-),蛋白(+++)。以下不适
机械加压送风的部位应有的余压值,下面不符合《高规》要求的是()
成本费用按()可分为单位产品成本费用和总成本费用。
上海港是中国最大的枢纽港。()
“治病不如防病,防病不如讲卫生”,这一说法强调的控制方式是:
Howmuchsleepdoesapersonneed?【31】thephysiologicalbasesoftheneedforsleepremainconjectural(猜想),renderingconclusiv
A______isagrowthoffeathers,furorskinalongthetopoftheheadsofsomeanimals,especiallybirds.
最新回复
(
0
)