首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定函数MODll.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
给定函数MODll.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如,若输入:77777,则输出将是:32767。 请改正程序中的错误,使它能得
admin
2013-04-02
21
问题
给定函数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://jikaoti.com/ti/rnn0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
阅读下面程序段,则执行后的结果为#include"stdio.h"main(){intm=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(intm,intn
请阅读以下程序:#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0
运行下面的程序,其输出结果为______。main(){printf("%d,%d",5%-3,-5%3);}
有以下程序: #include <stdio.h> main() {char c1=’1’,c2=’2’; c1=getchar();c2=getchar();putchar(c1);putchar(c2); }
以下叙述中错误的是 ______。
有以下程序 int fun(int n) { if(n=1) return 1; else return(n+fun(n-1)); } main(
有以下程序 main() {int y=10; while(y-);printf("y=%d\n",y); } 程序执行后的输出结果是______。
下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。#includ
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值 10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:口代表空格字符)
设已定义i和k为int类型变量,则以下for循环语句______。for(i=0;k=-1,k=1;i++,k++)printf("****\n");
随机试题
患者,男性,62岁。肥胖,喜欢油腻,高盐饮食。体检发现体内甘油三酯1.9mmol/L,血浆胆固醇6.8mmoL/L。经常感觉乏力,白天感觉困倦。经医生诊断为高脂血症。目前该患者应该注意的生活方式错误的是
曹植诗歌的艺术成就。
下列人员中,不能成为遗赠扶养协议的扶养人的是(),
为了获取客户进一步的信息,除借款申请书外,业务人员要求客户提供的基本材料包括()等。
下列各项会计信息质量要求中对相关性和可靠性起着制约作用的是()。
听讲不一定就是被动的,积极有效的听讲者可从准备、听讲、总结三个部分入手。()
当代一位犹太思想家的问题困扰了罗马教廷30年:一个基督教神职人员和一个普通信徒的灵魂是否都能进天堂?一个基督徒和一个其他宗教信徒的灵魂是否都能进天堂?一个有宗教信仰的人和一个无神论者的灵魂是否都能进天堂?如果有人的灵魂不能进天堂,则“上帝之爱”就不是普适的
人们在生产、生活中离不开计时,而要做到准确方便计时却不是一件容易的事。从“历象日月星辰,敬授人时”到“立杆测影,划分一日”,从“滴漏计时”到机械钟,从石英钟到原子钟……人类对时间计量技术和方法的探索历程表明()
Fromthefirsttwoparagraphswelearnthatweightlessnessiscausedby______.Whichofthefollowingapparatusofthebodyma
有如下程序#include<stdio.h>struetgroup{intfirst,second,third;};struetgroupget_rain_max—sum(int*array,intlen){inti;stru
最新回复
(
0
)