虎奔等级考试真题解读.docx
- 文档编号:5158688
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:33
- 大小:27.74KB
虎奔等级考试真题解读.docx
《虎奔等级考试真题解读.docx》由会员分享,可在线阅读,更多相关《虎奔等级考试真题解读.docx(33页珍藏版)》请在冰豆网上搜索。
虎奔等级考试真题解读
虎奔学校等级考试真题解读
全国计算机等级考试VIP手机软件二级C语言试题
一、程序填空题
给定程序中,函数fun的功能是:
找出100至x(x≤999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。
例如,当n值为500时,各位数字之和为15的整数有:
159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。
共有26个。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:
源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
intfun(intx)
{ intn,s1,s2,s3,t;
/**********found**********/
n=__1__;
t=100;
/**********found**********/
while(t<=__2__)
{ s1=t%10;s2=(t/10)%10;s3=t/100;
if(s1+s2+s3==15)
{ printf("%d",t);
n++;
}
/**********found**********/
__3__;
}
returnn;
}
main()
{ intx=-1;
while(x>999||x<0)
{ printf("Pleaseinput(0 ");scanf("%d",&x);} printf("\nTheresultis: %d\n",fun(x)); }。 【微答案】 (1)0 (2)x (3)t++ 【微分析】 填空1: 变量n用于存放符合条件的整数的个数,应赋初值为0。 填空2: 根据题目要求,确定循环变量t的取值范围t<=x。 填空3: 循环变量t自增1操作。 二、程序改错题 给定程序MODI1.C中函数fun的功能是: 先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串的后面。 例如: 当s所指的字符串为: "ABCDE"时,则t所指的字符串应为: "EDCBAABCDE"。 请改正程序中的错误,使它能得出正确的结果。 注意: 不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include voidfun(char*s,char*t) { /************found************/ inti; i=0; sl=strlen(s); for(;i /************found************/ t[i]=s[sl-i]; for(i=0;i t[sl+i]=s[i]; t[2*sl]='\0'; } main() { chars[100],t[100]; printf("\nPleaseenterstrings: ");scanf("%s",s); fun(s,t); printf("Theresultis: %s\n",t); }。 【微答案】 (1)inti,sl; (2)t[i]=s[sl-i-1]; 【微分析】 (1)变量s1没有定义。 (2)该循环实现将s串中的字符逆序存入t串中,t[i]对应s串中的s[sl-i-1]。 三、程序设计题 函数fun的功能是: 将a、b中的两个两位正整数合并形成一个新的整数放在c中。 合并的方式是: 将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上。 例如,当a=45,b=12。 调用该函数后,c=1425。 注意: 部分源程序存在文件PROG1.C中。 数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include voidfun(inta,intb,long*c) { } main()/*主函数*/ { inta,b;longc; printf("Inputab: "); scanf("%d%d",&a,&b); fun(a,b,&c); printf("Theresultis: %ld\n",c); }。 【微答案】 voidfun(inta,intb,long*c) { *c=a%10+(b%10)*10+(a/10)*100+(b/10)*1000; } 【微分析】 本题的主要问题是如何取出a和b的个位数和十位数,取出后如何表示成c中相应的位数。 由于a和b都是只有两位的整数,所以分别对它们除10可得到它们的十位数,分别用10对它们求余可得到它们的个位数。 得到后对应乘以1000、100、10、1就可得到c的千位数、百位数、十位数和个位数。 注意: 使用c时要进行指针运算。 一、程序填空题 给定程序中,函数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中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include intfun(intx) { intn,s1,s2,s3,t; n=0; t=100; /**********found**********/ while(t<=__1__){ /**********found**********/ s1=t%10;s2=(__2__)%10;s3=t/100; /**********found**********/ if(s1+s2+s3==__3__) { printf("%d",t); n++; } t++; } returnn; } main() { intx=-1; while(x<0) { printf("Pleaseinput(x>0): ");scanf("%d",&x);} printf("\nTheresultis: %d\n",fun(x)); }。 【微答案】 (1)999 (2)t/10 (3)x 【微分析】 填空1: 题目要求找出100~999之间符合要求的数,所以while语句的循环条件是t<=999。 填空2: 变量s2存放三位数的十位,取出三位数十位数值的方法为s2=(t/10)%10。 填空3: 题目需要判断各位上数字之和是否为x,所以if语句条件表达式是s1+s2+s3==x。 二、程序改错题 给定程序MODI1.C中函数fun的功能是: 从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。 高位仍在高位,低位仍在低位。 例如,当s中的数为: 7654321时,t中的数为: 642。 请改正程序中的错误,使它能得出正确的结果。 注意: 不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include /************found************/ voidfun(longs,longt) { longsl=10; s/=10; *t=s%10; /************found************/ while(s<0) { s=s/100; *t=s%10*sl+*t; sl=sl*10; } } main() { longs,t; printf("\nPleaseenters: ");scanf("%ld",&s); fun(s,&t); printf("Theresultis: %ld\n",t); }。 【微答案】 (1)voidfun(longs,long*t) (2)while(s>0) 【微分析】 函数的形参类型应与实参类型相同,主函数中函数fun()的调用方式说明其参数应为指针类型,所以形参t应定义为long*t。 while循环的功能是,每循环一次就从s中的数上取出一位进行运算,直到取完为止,所以循环条件为s>0。 三、程序设计题 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是: 按分数的高低排列学生的记录,高分在前。 注意: 部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include #defineN16 typedefstruct { charnum[10]; ints; }STREC; voidfun(STRECa[]) { STRECtmp; inti,j; for(i=0;i for(j=i+1;j { /*请按题目要求完成以下代码*/ } } main() { STRECs[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85}, {"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87}, {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91}, {"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}}; inti;FILE*out; fun(s); printf("Thedataaftersorted: \n");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 等级 考试 题解
![提示](https://static.bdocx.com/images/bang_tan.gif)