首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2018-09-27
92
问题
给定函数MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。
例如,若输入:77777,则输出将是:32767。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
1 #include<stdio.h>
2 #include<string.h>
3 #include<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-’o’;
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:StrLng too longer!\n\n’’);exit(0),}
20 for(i=0;s
;i++)
21 if(s
<’0’||s
>’7’)
22 {printf(’’Error:%c not is ocatal digits!\n\n’’,s
);exit(0);}
23 rintf(’’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/38xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有如下程序段:intx=2002,y=2003;printf(“%d\n”,(x,y));则以下叙述中正确的是
下列程序段的运行结果是______。charstr[]="ABCD",*p=str;printf("%d\n",*(p+3));
若有下列定义(设int类型变量占2个字节):floatx=123.4567;则下列语句:printf("x=%5.2f",x);输出的结果是()。
结构化程序设计所规定的三种基本控制结构是()
在表示C语言的整型变量时,表示“无符号整型”的符号是()
以下函数返回a所指数组中最小的值所在的下标值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[j])________return(p);}在下划线处应填入的是
已知字母A的ASCII码为65。以下程序运行后的输出结果是【】。main(){chara,b;a=’A’+’5’-’3’;b=a+’6’-’2’;printf("%d%c\n",a,B);}
数据库系统中实现各种数据管理功能的核心软件称为【】。
两次运行下面的程序后,如果从键盘上分别输入7和3,则输出结果是______。main(){intx;scanf("%d",&x);if(++x>5)printf("%d",x);elsep
下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。intn=0,c;c=getchar();while(c!=’\n’){if(______)n++;}
随机试题
在Excel中,执行一次排序命令,最多只能按______个字段来排序。
心肌梗死病灶由纤维组织替代的过程称为
A.同步直流电复律B.非同步直流电复律C.主动脉气囊反搏D.心室临时起搏器室性心律失常药物疗效不佳者宜用
专供揉搓无破损皮肤的剂型是()
可乐定属于下列哪一种药物
关于租赁合同特征的说法,正确的是()。
如果按照国家振兴汽车发展计划及购置税减免以及汽车摩托车下乡、汽车以旧换新等政策刺激,加上经济复苏的影响,城市机动车增长的速度和数量,只会有增无减。这样,机动车繁荣了,城市却面临灾难了。稍大一点的城市,本来交通堵塞、环境污染就是老大难问题;稍小一点的城市,猛
weakinvestment
第1代电子计算机使用的电子元件是
汉字(Chinesecharacter)是世界上最古老的文字之一。它在古时由汉族人所创造,历史甚至可以追溯到五千年前。所以,汉字的起源也可以被认为是中国古文明的开端。汉字这个名字,得名于汉族和汉朝。汉字是迄今为止连续使用时间最长的书写系统,集发音、形象和
最新回复
(
0
)