ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:27.74KB ,
资源ID:18129248      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18129248.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(虎奔等级考试真题解读Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

虎奔等级考试真题解读Word文件下载.docx

1、999|x0) printf(Please input(0x=999): ); scanf(%d,&x); printf(nThe result is: %dn,fun(x);。,【微答案】(1) 0(2) x(3) t+【微分析】填空1:变量n用于存放符合条件的整数的个数,应赋初值为0。填空2:根据题目要求,确定循环变量t的取值范围tvoid fun (char *s, char *t)/*found*/int i;i=0;sl = strlen(s);for (; isl; i+)ti = ssl-i;for (i=0;tsl+i = si;t2*sl = 0; char s100, t1

2、00;nPlease enter string s:%s, s);fun(s, t);The result is: %sn, t);(1)int i, sl;(2)ti=ssl-i-1;(1)变量s1没有定义。(2)该循环实现将s串中的字符逆序存入t串中,ti对应s串中的ssl-i-1。三、程序设计题函数fun的功能是: 将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上。例如,当a45,b=12。调用该函数后,c=1425。 部分源程序存在文件PROG1.C中。数据文件IN.D

3、AT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。void fun(int a, int b, long *c)main() /* 主函数 */ int a,b; long c;Input a b:scanf(%d%d, &a, &b);fun(a, b, &c); %ldn, c);*c=a%10+(b%10)*10+(a/10)*100+(b/10)*1000;本题的主要问题是如何取出a和b的个位数和十位数,取出后如何表示成c中相应的位数。由于a和b都是只有两位的整数,所以分别对它们除10可得到它们的十位数,分别用10对它们求

4、余可得到它们的个位数。得到后对应乘以1000、100、10、1就可得到c的千位数、百位数、十位数和个位数。使用c时要进行指针运算。找出100999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;例如,当x值为5时,100999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。共有15个。当x值为27时,各位数字之和为27的整数是:999。只有1个。n=0;=_1_)s1=t%10; s2=(_2_)%10;if(s1+s2+s3=_3_)t+;while(

5、x0):(1) 999(2) t/10(3) x题目要求找出100999之间符合要求的数,所以while语句的循环条件是t999。变量s2存放三位数的十位,取出三位数十位数值的方法为s2(t/10)%10。题目需要判断各位上数字之和是否为x,所以if语句条件表达式是s1s2s3=x。从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:7654321时,t中的数为:642。void fun (long s, long t) long sl=10;s /= 10;*t = s % 10;while ( s 函数的形参类型应与实参类型相

6、同,主函数中函数fun()的调用方式说明其参数应为指针类型,所以形参t应定义为long *t。while循环的功能是,每循环一次就从s中的数上取出一位进行运算,直到取完为止,所以循环条件为s0。学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。 部分源程序在文件PROG1.C文件中。#define N 16typedef struct char num10;int s; STREC;void fun( STREC a )STREC tmp;int i,j;for(i = 0; i N;for(j = i

7、+1; j j+) /* 请按题目要求完成以下代码 */ STREC sN=GA005,85,GA003,76,GA002,69,GA004,85, GA001,91,GA007,72,GA008,64,GA006,87,GA015GA013GA012GA014,91,GA011,66,GA017GA018GA016,72;FILE *out ;fun( s );The data after sorted :nfor(i=0;iN; if( (i)%4=0 )printf(printf(%s %4d ,si.num,si.s);out = fopen(c:testout.dat,w) ; if

8、( (i)%4=0 & i) fprintf(out, fprintf(out, %4d ,si.s);fprintf(out,fclose(out) ;STREC t;for(i=1;i+) /*用冒泡法进行排序,进行N1次比较*/for(j=0;jN-1;j+) /*在每一次比较中要进行N1次两两比较*/if(aj.s99999999|nn0(3) i*10变量i用来控制被取出的偶数在新数中的位置,应赋初值1。while语句的循环条件是s0。变量i用来标识个位、百位和千位等。输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。#define M 5int fun(int n, i

9、nt xx) int i, j, sum=0;printf( nThe %d x %d matrix:, M, M );for( i = 0; M; i+ ) for( j = 0; j+ )printf( %f , xxij );for( i = 0 ; n ;sum += xxii+xxi n-i-1 ;return( sum );main( ) int aaMM=1,2,3,4,5,4,3,2,1,0,6,7,8,9,0,9,8,7,6,5,3,4,5,6,7;printf ( nThe sum of all elements on 2 diagnals is %d.,fun( M, a

10、a );(1)int fun(int n,int xxM)(2)printf(,xxij);(1)当用数组作为函数的形参时,可以不定义数组的行数,但一定要定义数组的列数。(2)该处错误比较隐蔽,一般C语言上机考试很少涉及printf函数中的错误,此处只要明白d和f的区别就可以了。格式字符d表示以带符号的十进制形式输出整数(正整数不输出符号);格式字符f表示以小数形式输出单精度、双精度数据,隐含输出6位小数。将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。调用该函数后,c=42

11、51。*c=b/10+(a%10)*10+(b%10)*100+(a/10)*1000;本题中主要的问题是如何取出a和b的个位数和十位数,取出后如何表示成c中相应的位数。得到后对应乘以1000、100、10、1,就可得到c的千位数、百位数、十位数和个位数。注意使用c时要进行指针运算。将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。例如,输入一个整数:64862。 unsigned long x=0;while(n) t=n%10;if(t%2=_1_)x=_2_+t;n=_3_;(1)0(2) 10*x (3)n/10定义变量t用来存放某数的各

12、个位数值,此处判断t是否为偶数,即对2求余结果是否为0。将t作为x的个位数,原来x的各个位上升1位,即x10*x+1。每循环一次,通过除法运算,去掉数值最后一位。将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。87653142时,t中的数为:7531。void fun (long s, long *t) int d;long sl=1;t = 0;while ( s d = s%10;if (d%2 = 0) *t = d * sl + *t;sl *= 10;s /= 10;【微答案】 (1)*t=0;(2)if(d%2!=0)或if(d%2=1)(

13、1)由函数定义可知,变量t是指针变量,所以对t进行赋初值0是不对的。因为t指向的是存放新数的变量,所以此处应给新数赋初值0,即*t0。(2)变量d表示数s各个位上的数,此处的if条件应为判断d是否为奇数。编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。例如,分别输入下面两个字符串:FirstString-SecondString程序输出:FirstString-SecondStringvoid fun(char p1, char p2) char s180, s240 ;Enter s1 and s2:%s%s, s1, s2) ;s1=%sn, s1) ;s2=%sn, s2) ;Invoke fun(s1,s2):fun(s1, s2) ;After invoking:prin

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1