首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODl1.c中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODl1.c中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2020-06-16
46
问题
给定函数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));
下列叙述中正确的是()。
有以下程序:#includevoidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={1,2,3,4,5,
下列叙述中正确的是()。
给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意
请编写函数voidfun(intx,intpp[],int*n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。例如,若x中的值为30,则有4个数符合要求,它们是1、3
编写程序,实现矩阵(3行、3列)的转置(即行列互换)。例如,若输入下面的矩阵:100200300400500600700800900则程序输出:100400
若有定义语句:char*s1="OK",*s2="ok";,以下选项中,能够输出“OK”的语句是()。
若有以下定义和语句:#include<stdio.h>chars1[10]="abcd!",*s2="\n123\\";prinff("%d%d\n",strlen(s1),strlen(s2));程序的运行结果是()。
以下叙述中错误的是()。
随机试题
关于脐膨出的叙述,正确的是
正确采集血样本是获得准确、可靠实验结果的关键。在样本采集前,应根据实验要求,决定采血方法、所需血量及适用抗凝剂。红色盖子采血管的添加的抗凝剂是
关于应激性溃疡不恰当的是
下列关于金融市场上利率的表述中不正确的是()。
下列不属于幼儿园教师职责的是()。
李某出生在浙江省宁波市,大学毕业后户口登记在杭州,1998年开始到上海经商,并定居在上海,李某也常去看望在苏州工作的妻子,问:李某的住所在()。
设行列式不具体计算D,试利用行列式的定义证明D=0.
对于连接到计算机网络上的计算机______。
宇宙是如何起【162】的,这是人类一直探索的奥妙。在很久以前,就有盘古开天地的神话传说。相【163】,天地本来是黑暗混沌的一团,好像一个大鸡蛋,盘古就孕育在中间。过了一万八千年,突然山崩地裂一【164】巨响,大鸡蛋裂开了。重而浊的东西渐渐下降变成了地,轻而
Moderntechnologyandsciencehaveproducedawealthofnewmaterialsandnewwaysofusingoldmaterials.Fortheartistthism
最新回复
(
0
)