首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODll.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODll.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2013-04-02
33
问题
给定函数MODll.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。
例如,若输入:77777,则输出将是:32767。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
#include
#include
int fun(char *p)
{int n;
/**********found**********/
n=*p-’o’;
p++;
while(p*!=0) {
/**********found**********/
n=n*8+*P-’o’;
p++
}
return n;
}
main()
{char s[6]; int i; int n;
printf("Enter a string (Ocatal digits): "); gets(s);
if(strlen(s)>5){printf("Error: String too longer !\n\n");exit(0);}
for(i=0; s
; i++)
if(s
<’0’||s
>’7’)
{printf("Error: %c not is ocatal digits!\n\n", s
);exit(0);}
printf("The original string: "); puts(s);
n=fun(s);
printf("\n%s is convered to integer number: %d\n\n",s,n);
}
选项
答案
n=*p-’0’; 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/bJJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序中有错误的行是()。(每行程序前面的数字表示符号)1main()2{3inta[3]={1};4inti;5scanf("%d",&a);6for(i-
设有定义int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是______。
设变量已正确定义,则以下能正确计算f=n!的程序段是 ______。
以下程序中函数fun的功能是:构成—个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。#include<stdio
以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGHIJKLMNO
有以下程序 main() { char *p[]={"3697","2548"}; int i,j; long num=0; for(i=0;i<2;i++) {j=
有以下程序 main() {int i,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++)
设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值 10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:口代表空格字符)
下面rotate函数的功能是:将n行n列的矩阵A转置为A’,例如:#defineN4voidrotate(inta()[N]){inti,j,t;f
随机试题
第一类精神药品的处方应当至少保存
环境温度高于皮肤温度时,机体散热的方式是()。
在某工程网络中,已知工作M的总时差和自由时差分别为6天和3天。监理工程师检查实际进度时发现该工作的持续时间延长了2天,说明此时工作M的实际进度()。
下列关于金融衍生品的说法,正确的有()。
2016年,甲公司以定向增发股票方式取得了甲公司的控制权,但不构成反向购买。本次投资前,甲公司不持有乙公司的股份,且与乙公司不存在关联方关系。甲、乙公司的会计政策和会计期间相一致。相关资料如下:资料一:1月1日,甲公司定向增发每股面值为1元、公允价值为1
计算机网络的应用越来越普遍,它的最大好处在于()。
知识学习的过程()
简述要约与要约邀请的区别。
定义应用需求的原型生命周期应是一个迭代过程,而其迭代工作量主要集中在【】。
【21】【31】
最新回复
(
0
)