问答题
18分
下列给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为正整数)的整数,并输出;符合条件的整数个数作为函数值返回。例如,当x值为5时,100~9...
下列给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为正整数)的整数,并输出;符合条件的整数个数作为函数值返回。
例如,当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500,共有15个。当x值为27时,各位数字之和为27的整数是:999,只有1个。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
例如,当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500,共有15个。当x值为27时,各位数字之和为27的整数是:999,只有1个。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
参考解析: 【参考答案】
(1)999 (2)t/10 (3)x
【考点分析】
本题考查:while循环语句;数值n各个位的表示方法;if语句条件表达式。
【解题思路】
填空1:题目要求找出100~999之间符合要求的数,所以while语句的循环条件是t<=999。
填空2:变量s2存放三位数的十位,取出三位数十位数值的方法为s2=(t/10)%10。
填空3:题目需要判断各位上数字之和是否为x,所以if语句条件表达式是s1+s2+s3==x。
【解题宝典】
三位数数值n各个位的表示方法,个位表示为n%10、十位表示为n/10%10、百位表示为n/100。