首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更
给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更
admin
2019-09-02
34
问题
给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。
例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
long fun(long num)
{
/**********found**********/
long k;
do
{k*=num%10,
/**********found**********/
num\=10;
}while(num);
return(k);
}
main()
(long n;
printf("\nPlease enter a number:")scanf("%ld",&n);
printf("\n%id\n",fun(n));}
选项
答案
(1)long k=1, (2)num/=10;
解析
(1)本题中函数的功能是计算正整数num各个位上的数字之积。首先要对正整数进行截取,取得该正整数的各个位上的数字,然后对求得的数进行累积。
(2)从已给定源程序的main主函数入手,通过键盘输入一个正整数n,语句“printf("\%ld\n",fun(n));”调用fun函数求得n各个位上的数字之积。
(1)第一个错误标识下的k是函数的返回值,子函数fun中在执行“k*=num%10;”之前,只进行了定义,却没有赋初值,编译时会警告变量在使用之前没有初始化k。k代表了各个位上的数字之积,其初值应为1。因此,第一个标识下的“long k;”改为“long k=1;”。
(2)第二个标识下的符号“\”是非法字符,根据题意,这里应该是进行除法运算,所以“num\=10;”应该改为“num/=10;”。
转载请注明原文地址:https://www.kaotiyun.com/show/BKRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下选项中关于C语言常量的叙述错误的是
有以下程序#includevoidf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf("%d,%d",m,n);}voidf(int*p,int*q){p=
if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是
有两个关系R和S如下: 则由关系R得到关系S的操作是
有三个关系R、S和T如下: 其中关系T由关系R和S通过某种操作得到,该操作为
关系R经过运算σA=B∧C>4∧D>3(R)的结果为()。
设数据集合为D={1,3,5,7,9},D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是()。
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
下列选项中不属于软件生命周期开发阶段任务的是
随机试题
Fordecadesthemarketforexpensiveheadphoneswasmainlylimitedtohi-fifans.But【C1】________theboxystereosysteminthec
简要说明注意的品质。
下述是扩张型心肌病的临床表现,除了
为肺脓肿病人进行口腔护理的必要性是因为
甲是在中国设立的中外合资经营企业,乙是在中国设立的中外合作经营企业。如下关于两者异同点的表述正确的有()。
甲乙丙三人共同设立一家从事运输业的普通合伙企业。甲对其在该合伙企业中的财产份额,处理正确的是()。
云汉:天河
事务T1、T2和T3对相同的一组数据A、B和C进行操作,对于如下的一个并发调度,其中T1与T2间并发操作(45),T2与T3间并发操作(46)。
WhileATMshaveaddedsomeconveniencetoourlives,afewriskshavealsopoppedup(发生).Tostayoutoftrouble,youshouldfol
A、Thecandidatewouldbegivenabigsalarytostartwith.B、Thecandidate’sincreasesinsalarywouldbedependentonhiseffec
最新回复
(
0
)