




已阅读5页,还剩752页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、程序填空 共100题 (共计1000分)第1题 (10.0分) 题号:476/*-【程序填空】-功能:不用第三个变量,实现两个数的对调操作。-*/#include main() int a,b; scanf(%d %d,&a,&b); printf(a=%d,b=%dn,a,b); /*SPACE*/ a= 【a+b】 ; /*SPACE*/ b= 【a-b】 ; /*SPACE*/ a= 【a-b】 ; printf(a=%d,b=%dn,a,b); 答案: 1). a + b 2). a-b 或 a -b 3). a-b 或 a -b第2题 (10.0分) 题号:440/*-【程序填空】-功能:先将在字符串s中的字符按正序存放到t串中,然后把s中的 字符按逆序连接到t串的后面。-*/#include #include #include void fun (char *s, char *t) int i, sl; /*SPACE*/ sl = 【strlen(s)】; for(i=0; isl; i+) ti = si; for (i=0; isl; i+) /*SPACE*/ tsl+i = 【ssl-i-1】; /*SPACE*/ tsl+i=【0】;/ 单引号不能打出来/main() char s100, t100; clrscr(); /*SPACE*/ printf(nPlease enter string s:); 【scanf】(%s,s); fun(s, t); printf(The result is: %sn, t);答案: 1). strlen(s) 2). ssl-i-1 或 s sl -i -1 3). 0 或 0 4). scanf第3题 (10.0分) 题号:22/*-【程序填空】-功能:打印以下图形。* * * * *-*/ main ( ) char a59= ; int i,j; for (i=0;i5;i+) /*SPACE*/ for(j=i; 【ji+5】;j+) aij=*; /*SPACE*/ for(【i=0】;i5;i+) for(j=0;j9;j+) /*SPACE*/ printf(%c, 【a59】 ); /*SPACE*/ 【printf(“n”)】; 答案: 1). jj 或 jj 2). i=0 3). aij 4). printf(n)第4题 (10.0分) 题号:434/*-【程序填空】-功能:要求输出如下结果: b=-1 a=65535 a=65534 a=30 b=6 c=5 按要求在空中填入合适的变量完善程序。-*/main() /*SPACE*/ int b=-1,【?】;unsigned a; /*SPACE*/ a=【?】; printf(b=%d a=%un,b,a); /*SPACE*/ 【?】+=b; printf(a=%un,a); /*SPACE*/ b=(a=30)/【?】; printf(a=%d b=%d c=%dn,a,b,c);答案: 1). c 2). b 3). a 4). (c=5)第5题 (10.0分) 题号:468/*-【程序填空】-功能: 对一数组进行逐步累加求和,prefix代表从前向后累加值, suffix代表从后向前累加值,问在此过程中prefix与suffix 有几次值相同?-*/int head_tail(int x, int n) int prefix = 0, suffix = 0; int prefix_idx = 0, suffix_idx = n-1; int count = 0; while (suffix_idx = 0 & prefix_idx suffix) /*SPACE*/ suffix += x【?】; else /*SPACE*/ 【?】; prefix += xprefix_idx+; suffix += xsuffix_idx-; return count;#include void main(void) int x = 3, 6, 2, 1, 4, 5, 2; int n = sizeof(x)/sizeof(int); int i; printf(nHead Sum = Tail Sum Counting Program); printf(n=n); printf(nGiven Array :); for (i = 0; i n; i+) printf(%5d, xi); printf(nnThere are %d equal Prefix-Suffix sum pairs.,head_tail(x, n);答案: 1). prefix prefix 2). suffix_idx- 或 suffix_idx= suffix_indx -1 或 -suffix_idx 3). count+ 或 count=count+1第6题 (10.0分) 题号:15/*-【程序填空】-功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。-*/main() int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf(%d,&x); /*SPACE*/ while(【x!=0】) if(x%2=0) s1=s1+x;i+; /*SPACE*/ 【else】 s2=s2+x; j+; /*SPACE*/ 【?】; if(i!=0) av1=s1/i; else av1=0; if(j!=0) /*SPACE*/ 【scanf(%d,&x)】 ; else av2=0; printf(oushujunzhi:%7.2f,jishujunzhi:%7.2fn,av1,av2);答案: 1). x != 0 或 x 2). else 或 else if(x%2=1) 或 else if(x%2!=0) 或 if(x%2) 3). scanf(%d,&x) 4). av2=s2/j第7题 (10.0分) 题号:455/*-【程序填空】-功能:要求输出结果为3。-*/#include main() /*SPACE*/ int m=1,n=1,【s】; s=akm(m,n); printf(%d,s); /*SPACE*/akm(【int m】,int n) if(m=0) /*SPACE*/ 【return】 n+1; else if(m!=0&n=0) akm(m-1,1); else if(m!=0&n!=0) akm(m-1,akm(m,n-1); 答案: 1). s 2). int m 3). return第8题 (10.0分) 题号:12/*-【程序填空】-功能:产生并输出如下形式的方阵。1 2 2 2 2 2 13 1 2 2 2 1 43 3 1 2 1 4 43 3 3 1 4 4 43 3 1 5 1 4 43 1 5 5 5 1 41 5 5 5 5 5 1-*/main() int a77; int i,j; for (i=0;i7;i+) for (j=0;j7;j+) /*SPACE*/ if (【?】) aij=1;/*SPACE*/ else if (ij&i+jj&i+j6) aij=3;/*SPACE*/ else if (【?】) aij=4; else aij=5; for (i=0;i7;i+) for (j=0;j7;j+) printf(%4d,aij);/*SPACE*/ 【?】; 答案: 1). i = j | i + j = 6 2). aij=2 3). i6 或 ji & i + j6 或 ij & i + 6i & i + 6j 4). printf(n)第9题 (10.0分) 题号:463/*-【程序填空】-功能:输入一正整数n、打印1-n能够组成的所有自然数集合 (包含空集)。-*/#include #include #define MAXSIZE 20#define LOOP 1void main(void) int setMAXSIZE; int n, i; int position; char line100; printf(nAll Possible Subsets Generation by Lexical Order); printf(n=); printf(nnNumber of Elements in the Set - ); gets(line); n = atoi(line); printf(n); position = 0; setposition = 1; while (LOOP) /*SPACE*/ printf(n%d, 【?】); for (i = 1; i = position; i+) printf(,%d, seti); printf(); if (setposition n) /*SPACE*/ set【?】 = setposition + 1; position+; else if (position != 0) set-position+; else /*SPACE*/ 【?】; 答案: 1). set0 2). position+1 3). break第10题 (10.0分) 题号:477/*-【程序填空】-功能:编写程序,输出 1000 以内的所有完数及其因子。说明:所谓完数是指一个整数的值等于它的因子之和。例如“ 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6 是 一个完数。-*/#include main() int i,j,m,s,k,a100 ; for(i=1 ; i=1000 ; i+ ) m=i ; s=0 ; k=0 ; for(j=1 ; jm ; j+) /*SPACE*/ if(【?】) s=s+j ; /*SPACE*/ 【?】=j ; if(s!=0&s=m) /*SPACE*/ for(j=0 ; 【?】 ; j+) printf(%4d,aj) ; printf( =%4dn,i) ; 答案: 1). m%j = 0 2). ak+ 3). jj第11题 (10.0分) 题号:408/*-【程序填空】-功能:输入两个整数,求他们的按位与。-*/#includevoid main() int x,y,z=0,a,b,k=1; scanf(%d,%d,&x,&y); while(x0&y0) a=x%2; /*SPACE*/ x=【?】; b=y%2; y=y/2; /*SPACE*/ z=z+【?】; k=k*2; /*SPACE*/ 【?】(z=%dn,z);答案: 1). x/2 2). a*b*k 或 a * b * k 3). printf第12题 (10.0分) 题号:24/*-【程序填空】-功能:对任一整数N(N0),它都可以分解成1(或-1)和一些质数(素 数)因子的形式。例如:当N=150时,可分解成12355; 当N=-150时,可分解为-12355。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5-*/main() int n,i,j,r; scanf(%d,&n); if (n=0) printf (data error n); exit(0); /*SPACE*/ else if (【?】) printf(n=1); else printf(n=-1); n=-n; /*SPACE*/ for(【?】;i0 或 0n 2). i=2 3). r=n%i 4). n=n/i 或 n/=i第13题 (10.0分) 题号:17/*-【程序填空】-功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘 输入。-*/#include stdio.hmain() char str80,ch; int i,k=0; /*SPACE*/ gets(【?】); ch=getchar(); /*SPACE*/ for(i=0;【?】;i+) if(stri!=ch) /*SPACE*/ 【?】; k+; /*SPACE*/ 【?】; puts(str); 答案: 1). str 2). stri!=0 或 stri!=NULL 或 stri!=0 或 stri 3). strk=stri 或 *(str+k)=*(str+i) 或 strk=*(str+i) 或 *(str+k)=stri 4). strk=0 或 *(str+k)=0 或 strk=NULL 或 strk=0 或 *(str+k)=0 或 *(str+k)=NULL第14题 (10.0分) 题号:489/*-【程序填空】-功能:h_sequence 是一组由0和1组成的数列,它定义如下: = 0 = 1 利用函数检测输入的字符串是否是h_sequence数列-*/#include #define YES 1#define NO 0int h_sequence(char x) /*SPACE*/ int length = 【?】; int count; int i; for (count = 1, i = 0; count != 0 & i = length; #include void main(void) char line100; printf(nnInput a string of 0 and 1 - ); gets(line); /*SPACE*/ if (【?】 = YES) printf(n* Input is a H sequence *); else printf(n* Input is NOT a H sequence *);答案: 1). strlen(x) 2). count = 0 3). h_sequence(line)第15题 (10.0分) 题号:404/*-【程序填空】-功能:从键盘上输入两个复数的实部与虚部,求出并输出它们的 和、差、积、商。-*/#includevoid main() float a,b,c,d,e,f; printf(输入第一个复数的实部与虚部:); scanf(%f, %f,&a,&b); printf(输入第二个复数的实部与虚部:); scanf(%f, %f,&c,&d); /*SPACE*/ 【?】; f=b+d; printf(相加后复数:实部:%f,虚部:%fn,e,f); e=a*c-b*d; /*SPACE*/ 【?】; printf(相乘后复数:实部:%f,虚部:%fn,e,f); e=(a*c+b*d)/(c*c+d*d); /*SPACE*/ 【?】; printf(相除后复数:实部:%f,虚部:%fn,e,f);答案: 1). e=a+c 或 e=c+a 2). f=a*d+b*c 或 f= a*d + b*c 或 f= a * d + b * c 3). f=(b*c-a*d)/(c*c+d*d) 或 f=(b*c-a*d) / (c*c+d*d) 或 f=( b * c - a * d ) / ( c * c + d * d )第16题 (10.0分) 题号:396/*-【程序填空】-功能:输入数组,最大的与最后一个元素交换,最小的与第一个元 素交换,输出数组。-*/main() int number10; input(number); max_min(number); output(number);input(number)int number10; int i; /*SPACE*/ for(i=0;【?】;i+) scanf(%d,&numberi); scanf(%d,&number9);max_min(array)int array10; int *max,*min,k,l; int *p,*arr_end; arr_end=array+10; max=min=array; for(p=array+1;p*max) max=p; else if(*p*min) /*SPACE*/ 【?】; k=*max; l=*min; *p=array0; array0=l; /*SPACE*/ 【?】; *p=array9; /*SPACE*/ 【?】; k=*p; return;output(array)int array10; int *p; for(p=array;parray+9;p+) printf(%d,*p); printf(%dn,array9);答案: 1). ii 2). min=p 3). l=*p 4). array9=k第17题 (10.0分) 题号:451/*-【程序填空】-功能:编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日) 相差的天数。-*/main() int y1,m1,d1,y2,m2,d2,n,i; printf(y1,m1,d1=); scanf(%d,%d,%d,&y1,&m1,&d1); /*SPACE*/ if(m112|d1【?】) exit(0); printf(y2,m2,d2=);scanf(%d,%d,%d,&y2,&m2,&d2); /*SPACE*/ if(m212|d2【?】) exit(0); if(y1y2|y1=y2&m1m2|y1=y2&m1=m2&d1d2) n=y1; y1=y2; y2=n; n=m1; m1=m2; m2=n; n=d1; d1=d2; d2=n; else /*SPACE*/ n=yend(y1,m1,d1)+【?】; /*SPACE*/ for(i=【?】;i%d.%d.%d:n=%dn,y1,m1,d1,y2,m2,d2,n);int f(int y) return(y%4=0&y%100!=0|y%400=0);int mday(int y,int m) return(31-(m=4)+(m=6)+(m=9)+(m=11)-(3-f(y)*(m=2);int yday(int y,int m,int d) return(d+31*(m1)+(m3)+(m5)+(m7)+(m8)+(m10)+30*(m4)+(m6)+(m9)+(m11)+(28+f(y)*(m2);int yend(int y,int m,int d) return(365+f(y)-yday(y,m,d);答案: 1). mday(y1,m1) 2). mday(y2,m2) 3). yday(y2,m2,d2) 4). y1+1 或 1+y1第18题 (10.0分) 题号:21/*-【程序填空】-功能:将一个字符串中的前N个字符复制到一个字符数组中去, 不许使用strcpy函数。-*/main ( ) char str180,str280; int i,n; /*SPACE*/ gets(【?】); scanf(%d,&n); /*SPACE*/ for (i=0; 【?】 ;i+) /*SPACE*/ 【?】; /*SPACE*/ 【?】; printf(%sn,str2);答案: 1). str1 2). ii 或 i=i 3). str2i=str1i 或 *(str2+i)=*(str1+i) 或 *(str2+i)=str1i 或 str2i=*(str1+i) 4). str2n=0 或 str2i=0 或 str2n=0 或 str2i=0 或 *(str2+n)=0 或 *(str2+i)=0 或 *(str+n)=0 或 *(str2+i)=0第19题 (10.0分) 题号:438/*-【程序填空】-功能:求出二维数组中的最大元素值。-*/#include stdio.hvoid main() int a34=1,3,5,7,2,4,6,8,15,17,34,12; /*SPACE*/ printf(max value is %dn,【?】);max_value(m,n,array)/*SPACE*/int m,n,【?】; int i,j,max; max=array00; for(i=0;im;i+) for(j=0;jn;j+) /*SPACE*/ if(maxarrayij)【?】; return(max);答案: 1). max_value(3,4,a) 2). array4 或 array34 3). max=arrayij第20题 (10.0分) 题号:452/*-【程序填空】-功能:从键盘输入若干行字符,输入后把他们存储到一磁盘文件 中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行刑法考试试题及答案
- 寿险高管考试试题及答案
- 工业气体试题及答案
- 2025年防城港市消防员考试笔试试题(含答案)
- 2024食品安全员能力考核试题含答案
- 2025年低压电工操作证模拟考试复审题库及答案
- 识测试题及答案
- 电工(初级工)测试题+答案
- 2025全国企业员工全面质量管理知识竞赛题库(含答案)
- 2025河北省社区《网格员》模拟试题(含答案)
- 办公自动化使用教材课件
- 2025年专业士官考试题库
- 院前急救技能大赛
- 2024年武汉广播电视台专项招聘真题
- 高血压尿毒症护理查房
- 2025届山东省青岛五十八中高一物理第二学期期末考试试题含解析
- 医院培训课件:《基于医院感染防控的安全注射》
- 2025年档案管理与信息资源利用考试试题及答案
- 工业空调培训课件模板
- 防汛安全教育试卷(含答案)
- 2025届上海市高考英语考纲词汇表
评论
0/150
提交评论