首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODll.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODll.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2013-04-02
26
问题
给定函数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全国计算机二级
相关试题推荐
以下程序运行后的输出结果是【 】。main(){intx=0210;printf("%X\n",x);}
有以下程序: #include <stdio.h> main() {char c1=’1’,c2=’2’; c1=getchar();c2=getchar();putchar(c1);putchar(c2); }
有以下程序: #define f(x)(x*x) main() { int i1,i2; il=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2);
设函数fun的定义形式为: void fun(char ch,float x) { …… } 则以下对函数fun的调用语句中,正确的是 ______。
以下程序的功能是:给r输入数据后计算半径为r的圆面积s,程序在编译时出错。 main() /* Beginning */ {int r;float s; scanf("%d",&r); s=*I*r*r; printf(
以下程序中函数fun的功能是:构成—个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。#include<stdio
先有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件如下:#include<stdio.h>#include"myfun.c"main(){
有以下程序 int fun(int x[],int n) { static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]; return sum
有以下程序段 struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b};
下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:#defineN4voidsort(inta[][N])
随机试题
设曲线(n为正整数)在[0,nπ]上的全长为Sn,求Sn;
较严重的出血且出血部位尚不明确,最佳的填塞材料是
内镜的灭菌宜用出院病人使用过的床单位宜用
(2008年)四种应力状态分别如图所示,按照第三强度理论,其相当应力最大的是()。
【背景资料】某施工单位承担一矿井大巷施工任务。大巷设计长度2500m,半圆拱断面,净宽4500mm,净高4000mm,采用锚喷支护。矿井地质报告表明:大巷穿越地层为中等稳定岩层,属Ⅲ~Ⅳ类围岩,但在1200m处有一长度30m的断层破碎带。施工单位
内墙面抹灰分层中,起墙面找平作用的是()层。
阅读材料,完成下列要求。英雄,是一个时代的精神坐标,是一个社会的价值引领。英雄在词典中解释为本领高强、英勇过人的人;不怕困难、不顾自己,为人民利益而英勇斗争,令人钦敬的人。作为中华民族英雄文化史的一部分,他们在某一个特定历史时期,展现不
下列哪些情形下,督察人员在现场督察中发现公安机关的人民警察违法违纪的,可以采取当场处置?( )
在一系统中,不同类对象之间的通信的一种构造称为(46),一个对象具有多种形态称为(47)。(47)
设关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,下列叙述中正确的是()。
最新回复
(
0
)