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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言填空题.docx

1、C语言填空题C语言填空题第1套 给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数, 存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include #include #define N 8 typedef struct list int data; struct list *next; SLIST; SLIST *creatlist(int *a); void outlist(SLIST *); void fu

2、n( SLIST *h, int *n) SLIST *p; /*found*/ _1_=0; *n p=h-next; while(p) (*n)+; /*found*/ p=p-_2_; next main() SLIST *head; int aN=12,87,45,32,91,16,20,48, num; head=creatlist(a); outlist(head); /*found*/ fun(_3_, &num); head printf(nnumber=%dn,num); SLIST *creatlist(int a) SLIST *h,*p,*q; int i; h=p=(

3、SLIST *)malloc(sizeof(SLIST); for(i=0; idata=ai; p-next=q; p=q; p-next=0; return h; void outlist(SLIST *h) SLIST *p; p=h-next; if (p=NULL) printf(The list is NULL!n); else printf(nHead ); do printf(-%d,p-data); p=p-next; while(p!=NULL); printf(-Endn); 解题思路: 本题是要求统计出带有头结点的单向链表中结点的个数。 第一处:对n所指的存储单元进行初

4、始化,所以应填:*n。 第二处:指向p的下一个结点,所以应填:next。 第三处:函数调用,在主函数中已经给出了head,所以应填:head。 第2套 给定程序中,函数fun的功能是:将NN矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵 1 2 3 4 5 6 7 8 9 计算结果为 3 1 2 6 4 5 9 7 8 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include #define N 4 void fun(

5、int (*t)N) int i, j, x; /*found*/ for(i=0; i=1; j-) tij=tij-1; /*found*/ ti_3_=x; 0 main() int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10, i, j; printf(The original array:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); fun(t); printf(nThe result is:n); for(i=0; iN; i+) for

6、(j=0; jN; j+) printf(%2d ,tij); printf(n); 解题思路: 第一处:函数fun是对NN矩阵进行操作,for循环的终止值为N。 第二处:把最后一列的元素值赋值给临时变量x保存用来交换,所以应填:N-1。 第三处:第1列元素值使用x替换,由于C语言的下标是从0开始的,所以应填:0。 第3套 给定程序中,函数fun的功能是: 将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:defadhkjsdf3537。 请在程序的下划线处填入正确的内容并

7、把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include void fun(char *s) int i, j=0, k=0; char t180, t280; for(i=0; si!=0; i+) if(si=0 & si=9) /*found*/ t2j=si; _1_; j+ else t1k+=si; t2j=0; t1k=0; /*found*/ for(i=0; ik; i+) _2_; si=t1i /*found*/ for(i=0; i_3_; i+) sk+i=t2i;

8、 j main() char s80=ba3a54j7sd567sdffs; printf(nThe original string is : %sn,s); fun(s); printf(nThe result is : %sn,s); 解题思路: t2是存放数字字符串,t1是存放非数字字符串。 第一处:t2存放数字字符串的位置是由j来控制的,每添加一个,j必须加1,所以应填:j+。 第二处:利用for循环把t1字符串添加到原字符串s中,所以应填:si=t1i。 第三处:利用for循环把t2字符串添加到原字符串s的尾部,其中数字字符串的长度为j,所以应填:j。 第4套 给定程序中,函数fun

9、的功能是:有NN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 计算结果为 1 0 0 6 5 0 10 14 9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include #define N 4 /*found*/ void fun(int (*t)_1_ ) N int i, j; for(i=1; iN; i+) for(j=0; ji; j+)

10、/*found*/ _2_ =tij+tji; tij /*found*/ _3_ =0; tji main() int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10, i, j; printf(nThe original array:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); fun(t); printf(nThe result is:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); p

11、rintf(n); 解题思路: 第一处:形参t的定义,整数数组其宽度为N,所以应填:N。 第二处:对称元素相加,其结果仍存放在左下三角元素中,所以应填:tij。 第三处:右上三角元素置为0,所以应填:tji。 第5套 给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。 例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生

12、文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include void fun(char *s, char *p) int i, j, n, x, t; n=0; for(i=0; si!=0; i+) n+; for(i=1; in-2; i=i+2) /*found*/ _1_; t=i /*found*/ for(j=_2_+2 ; jsj) t=j; if(t!=i) x=si; si=st; st=x; for(i=1,j=0; in; i=i+2, j+) pj=si; /*found*/ pj=_3_; 0 main() char s80=

13、baawrskjghzlicda, p50; printf(nThe original string is : %sn,s); fun(s,p); printf(nThe result is : %sn,p); 解题思路: 第一处:取外循环的控制变量,所以应填:t=i。 第二处:内循环的起始变量,应该是i+2,所以应填:i。 第三处:新字符串处理完后应添加字符串结束符,所以应填:0。 第6套 给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun 函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 请在程序的下划线处填入正确的内容并把下划线删除

14、,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include #include #define N 8 typedef struct list int data; struct list *next; SLIST; void fun( SLIST *p) SLIST *t, *s; t=p-next; s=p; while(t-next != NULL) s=t; /*found*/ t=t-_1_; next /*found*/ printf( %d ,_2_); t-data s-next=NULL;

15、/*found*/ free(_3_); t SLIST *creatlist(int *a) SLIST *h,*p,*q; int i; h=p=(SLIST *)malloc(sizeof(SLIST); for(i=0; idata=ai; p-next=q; p=q; p-next=0; return h; void outlist(SLIST *h) SLIST *p; p=h-next; if (p=NULL) printf(nThe list is NULL!n); else printf(nHead); do printf(-%d,p-data); p=p-next; whi

16、le(p!=NULL); printf(-Endn); main() SLIST *head; int aN=11,12,15,18,19,22,25,29; head=creatlist(a); printf(nOutput from head:n); outlist(head); printf(nOutput from tail: n); while (head-next != NULL) fun(head); printf(nn); printf(nOutput from head again :n); outlist(head); 解题思路: 本题是对已经建立的链表,通过调用一次函数就

17、输出链表尾部的数据。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。 第一处:由于本题要求输出链表尾部的数据,函数是利用while循环语句找出链表尾部的指针并存入临时变量s中,那么每循环一次就要判断链表是否已结束位置,如果是,则退出循环,进行输出,由于是通过t指针变量进行操作的,因此,都要取t的next指针重新赋给t来实现,所以本处应填next。 第二处:输出最后一个结点的数据,所以应填t-data或(*t).data。 第三处:输出出最后一个结点数据后,并把此结点删除了,程序要求释放内存,所以应填t。 第7套 给定程序中,函数fun的功能是:计算NN矩阵的主对角线元素和反向对角线元

18、素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include #define N 4 fun(int tN, int n) int i, sum; /*found*/ _1_; sum=0 for(i=0; in; i+) /*foun

19、d*/ sum+=_2_ ; tii for(i=0; in; i+) /*found*/ sum+= tin-i-_3_ ; 1 return sum; main() int tN=21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10,i,j; printf(nThe original data:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%4d,tij); printf(n); printf(The result is: %d,fun(t,N); 解题思路: 第一处:变量sum是用来存放主对角线元素和反向对

20、角线元素之和,要对其进行初始化,所以应填:sum=0。 第二处:对主对角线元素值累加,所以应填:tii。 第三处:对反向对角线元素值累加,所以应填:1。 第8套 给定程序中,函数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个。 请

21、在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include fun(int x) int n, s1, s2, s3, t; n=0; t=100; /*found*/ while(t=_1_) 999 /*found*/ s1=t%10; s2=(_2_)%10; s3=t/100; t/10 /*found*/ if(s1+s2+s3=_3_) x printf(%d ,t); n+; t+; return n; main() int x=-1; whil

22、e(x0): ); scanf(%d,&x); printf(nThe result is: %dn,fun(x); 解题思路: 第一处:使用while循环找出100,999之间所有整数,所以应填:999。 第二处:s2是求十位数字,所以应填:t/10。 第三处:各位数字之和为x,所以应填:x。 第9套 给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。 例如,输入一个数:27638496,新的数:为739。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程

23、序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include void fun(unsigned long *n) unsigned long x=0, i; int t; i=1; while(*n) /*found*/ t=*n % _1_; 10 /*found*/ if(t%2!= _2_) 0 x=x+t*i; i=i*10; *n =*n /10; /*found*/ *n=_3_; x main() unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100

24、000000): ); scanf(%ld,&n); fun(&n); printf(nThe result is: %ldn,n); 解题思路: 第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。 第二处:判断是否是奇数,所以应填:0。 第三处:最后通形参n来返回新数x,所以应填:x。 第10套 给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。 例如,输入一个整数:27638496,函数返回值为:64862。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存

25、放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构 给定源程序: #include unsigned long fun(unsigned long n) unsigned long x=0; int t; while(n) t=n%10; /*found*/ if(t%2=_1_) 0 /*found*/ x=_2_+t; 10*x /*found*/ n=_3_; n/10 return x; main() unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100000000): ); scanf(%ld,&n); printf(nThe result is: %ldn,fun(n); 解题思路: 第一处:判断t是否是偶数,所以应填:0。 第二处:每操作一次,x必须乘以10,再加t,所以应填:10*x。 第三处:每循环一次n的值缩小10倍,所以应填:n/10。 第11套 函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a0、a1、a2、中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a 所指数组中的数

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

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