程序设计大赛试题.docx
- 文档编号:1457494
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:9
- 大小:31.55KB
程序设计大赛试题.docx
《程序设计大赛试题.docx》由会员分享,可在线阅读,更多相关《程序设计大赛试题.docx(9页珍藏版)》请在冰豆网上搜索。
程序设计大赛试题
程序设计大赛试题
一、选择题(每小题2分,共20分)
1.已有定义:
intx=3,y=4,z=5;则表达式!
(x+y)–z+1&&y+z>>2的值是()
A)1B)-3C)2D)0
2.阅读下面程序,执行后的结果为()
intfun(intx[],intn)
{staticintsum=0,i;
for(i=0;i returnsum;} main() {inta[]={1,2,3,4,5};b[]={6,7,8,9},s=0; s=fun(a,5)+fun(b,4);printf(“%d\n”,s);} A)55B)45C)50D)60 3.已知: inta[6],*p=a;则下列不能表示a[1]地址的表达式是() A)a+1B)a++C)++pD)p+1 4.有以下程序 structst {intn;structst*next;}; staticstructsta[3]={5,&a[1],7,&a[2],9,’\0’},*p; 则值为6的表达式是() A)p++->nB)p->n++C)++p->nD)(*p).n++ 5.以下程序的运行结果是() point(char*p){p+=3;} main() {charb[4]={‘a’,‘b’,‘c’,‘d’},*p=b; point(p);printf(“%c\n”,*p);} A)aB)bC)cD)d 6.设有以下定义: inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*prt)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[2][2]的表达式是() A)*(*(p+9))B)*(p+9)C)*((*prt+2)[2])D)(*prt+2)+2 7.有以下程序 main() {inti; for(i=0;i<3;i++) switch(i) {case1: printf(“%d\n”,i); case2: printf(“%d\n”,i); default: printf(“%d\n”,i);}} 执行后的输出结果为() A)120B)012C)012020D)011122 8.以下程序的运行结果是() main() {inta=1,b; for(b=1;b<10;b++) {if(a>=8)break; if(a%2==1){a+=5;continue;} a=3;} printf(“%d\n”,b);} A)6B)5C)4D)3 9.执行以下程序,若从键盘上输入6514<回车>,则输出结果为() main() {intm,n; scanf(“%d%d”,&m,&n); while(m! =n) {while(m>n)m-=n; while(m printf(“%d\n”,m);} A)0B)1C)2D)3 10.有以下程序 #include“stdio.h” voidwritestr(char*fn,char*str) {File*fp; fp=fopen(fn,“w”);fputs(str,fp);fclose(fp);} main() {writestr(“t1.dat”,“start”); writestr(“t1.dat”,“end”);} 程序运行后,文件中的内容是() A)endB)endrtC)startD)startend 二、改错题(每修改1处错误2分,共20分) 请改正下列程序中的错误,使它能得出正确结果。 注意,每个小题不止一处错误,修改时不要改动main函数,不得更改程序的结构。 1.下列程序的功能是;读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。 #include #include IsPrime(intn) {inti,m; m=1; for(i=2;i if(n%i) {m=0;break;} return(m); } main() {intj,k; printf(“\nPleaseenteranintegernumberbetween2and10000: ”); scanf(“%d”,&k); printf(“%d”,k); for(j=2;j<=k;j++) if((! (k%j))&&(IsPrime(j)))printf(“\n%4d”,kj); printf(“\n”); } 2.下列程序中,函数fun的功能: 逐个比较a、b两个字符串对应位置中的字符,把ASCII码值或大或相等的字符依次存放到c数组中,形成一个新的字符串。 #include #include voidfun(char*p,char*q,char*c,) {intk=1; while(*p! =*q) {if(*p<*q)c[k]=*q; elsec[k]=*p; if(*p)p++; if(*q)q++; k++; } } main() {chara[10]=“aBCDeFgH”,b[10]=“ABcd”,c[50]={‘\0’}; fun(a,b,c); printf(“Theresultstringcis: ”);puts(c); } 3.下列程序中,函数fun的功能: 找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。 #include #defineN100 intfun(int*s,intn) {inti,j,k,a,b,c; j=0; for(i=100;i {k=n; a=k%10;k/=10; b=k%10;k/=10; c=k/10; if(a==b&&a==c)s[j++]=i; } returnj; } main() {inta[N],n,num=0,i; do{printf(“\nPleaseentern(<1000): ”);scanf(“%d”,&n);} while(n>1000); num=fun(a,n); printf(“\nTheresult: \n”); for(i=0;i printf(“\n”); } 4.下列程序中,函数fun的功能: 根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示的数据,由main()函数输出。 #include #include #defineM100 inta[M][M]={0}; fun(int**a,intm) {inti,k; for(j=0;i for(k=100;k a[j][k]=k*j; } main() {inti,j,n; printf(“\nPleaseentern: ”);scanf(“%d”,&n); fun(a,n); for(i=0;i for(j=100;j printf(“%5d”,a[i][j]); printf(“\n”); } 三、填空题(每空2分,共10分) 1.阅读下面程序,则程序的执行结果为_____________【1】。 #include“stdio.h” fun(intk,int*p) {inta,b; if(k==1||k==2)*p=1; else{fun(k-1,&a); fun(k-2,&b); *p=a+b;}} main() {intx; fun(6,&x); printf(“%d\n”,x);} 2.以下函数的功能是删除字符串s中的所有数字字符。 请填空。 voiddelete(char*s) {intn=0,i; for(i=0;s[i];i++) if(! (isdigit(s[i]))) ______________【2】 s[n]=_________【3】; } 3.设有以下定义 structlink {intdata;structlink*next;}a,b,c,*q,*p; 且已建立如下图所示链表结构: 能够将c插入到结点a和b之间,形成新链表的语句组是: _____________________【4】_____________________【5】。 四、编程题(50分) 1.填数字游戏。 在n×n的奇数方阵中填写1~n2个数字。 要求每行每列及对角线上的数字之和均相等。 (15分) 2.编写一个用矩形法求定积分的通用函数,分别求、、。 (说明: sin、cos、exp已在系统的数学函数库中)。 ( 15分) 3.已知两个整数集合A和B,它们的元素分别依元素值递增有序存放在两个单链表HA和HB中,编写一个函数求出两个集合的并集C,并要求表示集合C的链表结点仍依元素值递增有序存放。 (20分) 五、附加题 决策系统(100分) 题目描述: 一个智能决策系统可以由规则库和事实库两部分组成,假定规则库的形式为: RiC1&C2&…&Cn->A表示在条件C1,C2,…和Cn都满足的前提下,结论A成立(即采取行动A);Ri表示这是规则库中的第i条规则。 事实库则由若干为真的条件(即命题)所组成。 对一个新的待验证的命题Q,可使用数据驱动或目标驱动两种推理方式之一,来确认它是 否可由某规则库和事实库推出: 1)数据驱动的推理是指从事实库开始,每次试图发现规则库中某条能满足所有条件的 规则,并将其结论作为新的事实加入事实库,然后重复此过程,直至发现Q是一个事实或 没有任何新的事实可被发现; 2)目标驱动的推理是指从目标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 大赛 试题