首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODl1.c中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODl1.c中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2020-06-16
51
问题
给定函数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全国计算机二级
相关试题推荐
有以下程序:#includeintf(intx,inty){return((y—x)*x);}voidmain(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));
以下各项中,能正确表述算式sin(2πr+30°)的C语言表达式是()。
下列给定函数中,函数fun的功能是:统计字符串中各元音字母(即A、E、I、O、U)的个数。注意:字母不分大小写。例如,输入"THIsisaboot”,则应输出是10220。请改正程序中的错误,使它能得出正确的结果。
下列给定程序中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。请改正程序中的错误,使它得出正确的结果。注意:不要
给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,若形参s所指的字符串为“abcdef35adgh3kjsdf7”,则输出结果为4。请在程序的下画线处填入
有以下程序:struetst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};struetstc[2]={10,a,20,b};pt=c;以下选项中表达式值为11的是()。
若有定义语句:char*s1="OK",*s2="ok";,以下选项中,能够输出“OK”的语句是()。
在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。
以下选项中关于程序模块化的叙述错误的是()。
随机试题
考虑可能的诊断为若为进一步确诊,给患儿做以下辅助检查,结果为:血清铁蛋白(SF)低于10μg/L,血清铁(S1)低于50μg/L,总铁结合力(TIBC)大于62.7μmol/L,红细胞游离原卟啉(FEP)大于0.9μmol/L,骨髓铁粒幼细胞减少,<1
[2010年第71题]施工现场安全由以下哪家单位负责?
验算裸导体短路热效应的计算时间,采用的时间是什么?
国际债券的发行人主要包括()
拔髓术操作不合要求的是()。
就国家对法的作用来说,能影响以至决定法的形式的最主要的因素是()。
若一条二次曲线把(-∞,0)内的曲线段y=ex和(1,+∞)内的曲线段连接成一条一阶可导的曲线,则定义在[0,1]上的这条二次曲线为_________________________。
有以下程序:#includemain(){printf(“%d\n”,NULL);}程序运行后的输出结果是()。
软件设计中模块划分应遵循的准则是( )。
Internet(因特网)useseemstocauseadecline(下降)inpsychological(心理的)health,whichisreportedbyastudy.Evenpeoplewho
最新回复
(
0
)