首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2018-09-27
80
问题
给定函数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全国计算机二级
相关试题推荐
定义结构体数组structStu{intnum;charname[20];}x[51={1,“ZHAO”,2,“QIAN”,3,“SUN”,4,“LEE”,5,“ZHOU”};for(i=1
以下程序运行后的输出结果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}
有以下程序 main() {char s[]={"aeiou"},*ps; ps=s; printf("%c\n",*ps+4); } 程序运行后输出的结果是______。
以下叙述中错误的是______。
有如下程序: main() {char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]!=’
以下关于C语言数据类型的叙述中正确的是()。
若有下列定义(设int类型变量占2个字节):floatx=123.4567;则下列语句:printf("x=%5.2f",x);输出的结果是()。
“商品”与“顾客”两个实体集之间的联系一般是()。
设有定义:chars[10];inti=0;,以下不能将一行(不超过100个字符)带有空格的字符串正确读入的语句或语句组是()。
以下程序运行时,若从键盘输入:102030<回车>,输出的结果是【】。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);
随机试题
现代信息技术是一种涉及面广、内容极其复杂的综合性应用技术,其主要内容包括()。
简述证券投资分析的基本步骤。
患者女性,23岁,农民。一次与同村人发生口角,对方声音洪亮,患者自感不是对手。第二天起出现无法说话,与之交谈只能用手势表示。能正常咳嗽,到耳鼻喉科检查未发现声带异常。患者求助于心理治疗师,与心理治疗师交谈中患者渐入眠,入眠中心理治疗师引导其重现发生口角
图示结构的弯矩图正确的是()。
19世纪末复古思潮表现为()。
()属于恒值控制系统。
阅读下面一段文字,完成题目。高新技术带来的负效应高新技术的发展,应包括健全其抗御“灾害”的功能。但迄今为止,高新技术进步并未与高可靠性工艺、高可靠性监控、高可靠性管理的系统支撑及质保体系相匹配。因此,频频出现难以预料的尴尬局面。海湾战争
计算机的算法具有可行性、________、确定性和输入/输出的特点。
对于上市公司而言,有分红的企业才能发行新的股票。可是,如果一个企业有分红,那它就不需要融资。如果它需要融资,就没有办法分红。如果以上陈述为真,以下哪项陈述不可能假?
①海围着山,山围着我。沙田山居,峰回路转,我的朝朝暮暮,②日起日落,月望月朔,全在此中度过,我成了山人。问余何事栖碧山,笑而不答,山已经代我答了。其实山并未回答,是鸟代山答了,是虫,是松风代山答了。③山是禅机深蔬的高僧,轻易不开口的。人在楼上倚栏杆,山列坐
最新回复
(
0
)