大学计算机C语言程序设计(程序填空).doc_第1页
大学计算机C语言程序设计(程序填空).doc_第2页
大学计算机C语言程序设计(程序填空).doc_第3页
大学计算机C语言程序设计(程序填空).doc_第4页
大学计算机C语言程序设计(程序填空).doc_第5页
已阅读5页,还剩124页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、程序填空 共129题 第1题 题号:426/*-【程序填空】-功能:百马百担问题:有100匹马,驮100担货,大马驮三担,中 马驮2担,两匹小马驮一担,求大、中、小马各多少匹?-*/#include main() int hb,hm,hl,n=0; /*SPACE*/ for(hb=0;hb=100;hb+=【?】) /*SPACE*/ for(hm=0;hm=100-hb;hm+=【?】) /*SPACE*/ hl=100-hb-【?】; /*SPACE*/ if(hb/3+hm/2+2*【?】=100) n+; printf(hb=%d,hm=%d,hl=%dn,hb/3,hm/2,2*hl); printf(n=%dn,n);答案: 1). 3 2). 2 3). hm 4). hl第2题 题号:15/*-【程序填空】-功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。-*/#include main() int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf(%d,&x); /*SPACE*/ while(【?】) if(x%2=0) s1=s1+x; i+; /*SPACE*/ 【?】 s2=s2+x; j+; /*SPACE*/ 【?】; if(i!=0) av1=s1/i; else av1=0; if(j!=0) /*SPACE*/ 【?】 ; 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第3题 题号:468/*-【程序填空】-功能: 对一数组进行逐步累加求和,prefix代表从前向后累加值, suffix代表从后向前累加值,问在此过程中prefix与suffix 有几次值相同?-*/#include 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_idx -1 或 -suffix_idx 3). count+ 或 count=count+1第4题 题号:452/*-【程序填空】-功能:从键盘输入若干行字符,输入后把他们存储到一磁盘文件 中。在从该文件中读出这些数据,将其中的小写字母转换 成大写字母后在屏幕上输出。-*/#include #include #define N 100main() FILE *fp; char c,*p,sN20; int i,n; printf(n=);scanf(%d,&n); /*SPACE*/ if(nN) exit(0); printf(input%d string:n,n); for(i=0;in;i+) scanf(%s,si); /*SPACE*/ fp=fopen(text,【?】); for(i=0;ia&c=z)c=+32; putchar(c); printf(n); fclose(fp);答案: 1). | 2). w 3). *p+ 4). r第5题 题号:423/*-【程序填空】-功能:考查字符串数组的应用。输出26个英文字母。-*/#include void main (void) char string256; int i; /*SPACE*/ for (i = 0; i 26; 【?】) /*SPACE*/ stringi = 【?】; stringi = 0; /*SPACE*/ printf (the arrary contains %sn,【?】);答案: 1). i+ 或 +i 或 i=i+1 或 i+=1 2). A + i 或 i+A 或 65 + i 或 i+65 3). string第6题 题号:481/*-【程序填空】-功能:一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再 将第二次的商被8 除后余7 ,最后得到一个商为a。又知这 个自然数被17除余4 ,所得的商被17除余15,最后得到一 个商是a的2倍。编写程序求这个自然数。-*/#include main( ) int i,n,a ; i=0 ; while(1) if(i%8=1) n=i/8 ; if(n%8=1) n=n/8 ; /*SPACE*/ if(n%8=7) 【?】 ; if(i%17=4) n=i/17 ; if(n%17=15) n=n/17 ; if(2*a=n) printf(result=%dn,i) ; /*SPACE*/ 【?】 ; /*SPACE*/ 【?】; 答案: 1). a=n/8 2). break 3). i+ 或 +i 或 i=i+1第7题 题号:450/*-【程序填空】-功能:一个40磅重的板碎成4块,每块正好是一个整数磅,且用这 4块当砝码能称出140磅的整数重量的物体。编程求这4块 的各自重量。-*/#include #include main() int i,j,k,l,p,t1,t2,t3,t4; for(i=1;i38;i+) /*SPACE*/ for(【?】;j38-i;j+) /*SPACE*/ for(k=j;k【?】;k+) l=40-i-j-k; for(p=1;p40;p+) for(t1=-1;t12;t1+) for(t2=-1;t22;t2+) for(t3=-1;t32;t3+) for(t4=-1;t42;t4+) /*SPACE*/ if(【?】=p) goto next; break; /*SPACE*/ next:if(p=【?】) printf(%d,%d,%d,%dn,i,j,k,l); exit(0); printf(error.);答案: 1). j=i 2). 39-i-j 或 39 -i -j 3). i*t1+j*t2+k*t3+l*t4 或 i * t1 + j * t2 + k * t3 + l * t4 4). 39第8题 题号:428/*-【程序填空】-功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输 入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄)。-*/#include main()int age,y0,y1,m0,m1,d0,d1; printf(输入生日日期(年,月,日));/*SPACE*/ 【?】(%d,%d,%d,&y0,&m0,&d0); printf(输入当前日期(年,月,日); scanf(%d,%d,%d,&y1,&m1,&d1); age=y1-y0;/*SPACE*/ if(m0【?】m1)age-;/*SPACE*/ if(m0【?】m1)&(d0d1)age-; printf(age=%3d,age);答案: 1). scanf 2). 3). =第9题 题号:466/*-【程序填空】-功能:用二分法求方程2X3+4X2+3X-6=0在(-10,10)之间的根 ,其中 Xn代表X的n次方。-*/#include # include main() float x0,x1,x2,fx0,fx1,fx2; do printf(Enter x1&x2:); scanf(%f,%f,&x1,&x2); fx1=x1*(2*x1-4)*x1+3)-6; fx2=x2*(2*x2-4)*x2+3)-6; /*SPACE*/ while (fx1*fx2【?】); do x0=(x1+x2)/2; fx0=x0*(2*x0-4)*x0+3)-6; /*SPACE*/ if(fx0*fx1【?】) x2=x0; fx2=fx0; else x1=x0; fx1=fx0; /*SPACE*/ while(【?】=1e-5); printf(x=%6.2fn,x0);答案: 1). 0 2). 0 3). fabs(fx0)第10题 题号:614/*-【程序填空】-题目:以下程序的功能是:输出a、b、c三个变量中的最小值。-*/#include main() int a,b,c,t1,t2; /*SPACE*/ scanf(%d%d%d,&a,&b, 【?】); t1=ab? a:b; /*SPACE*/ t2=ct1? 【?】; printf(%dn,t2); 答案: 1). &c 2). c:t1第11题 题号:443/*-【程序填空】-功能:企业发放的奖金根据利润提成。利润(i)低于或等于10万元 时,奖金可提10%;利润高于10万元,低于20万元时,低于 10万元的部分按10%提成,高于10万元的部分,可可提成7.5% ;20万到40万之间时,高于20万元的部分,可提成5%;40万 到60万之间时高于40万元的部分,可提成3%;60万到100万 之间时,高于60万元的部分,可提成1.5%,高于100万元时, 超过100万元的部分按1%提成,从键盘输入当月利润i,求 应发放奖金总数?-*/#include main() long int i; double bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf(%ld,&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i=100000) bonus=i*0.1; /*SPACE*/ else if(【?】) bonus=bonus1+(i-100000)*0.075; /*SPACE*/ else if(【?】) bonus=bonus2+(i-200000)*0.05; /*SPACE*/ else if(【?】) bonus=bonus4+(i-400000)*0.03; else if(i=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01; /*SPACE*/ 【?】(bonus=%d,bonus);答案: 1). i=i 2). i=i 3). i=i 4). printf第12题 题号:442/*-【程序填空】-功能:将长整型数中每一位上为奇数的数依次取出,构成一个新数 放在t中。高位仍在高位,低位仍在低位。-*/#include #include void fun (long s, long *t) int d; long sl=1; /*SPACE*/ 【?】 = 0; while ( s 0) /*SPACE*/ d = 【?】; if(d%2) /*SPACE*/ *t = 【?】 + *t; /*SPACE*/ sl 【?】 10; s /= 10; main() long s, t; printf(nPlease enter s:); scanf(%ld, &s); fun(s, &t); printf(The result is: %ldn, t);答案: 1). *t 2). s%10 3). d * sl 或 sl * d 4). *= 或 =s*第13题 题号: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第14题 题号:20/*-【程序填空】-功能:求两个非负整数的最大公约数和最小公倍数。-*/#include main() int m,n,r,p,gcd,lcm; scanf(%d%d,&m,&n); if(mn) p=m,m=n;n=p; p=m*n; r=m%n; /*SPACE*/ while(【?】 ) /*SPACE*/ m=n;n=r; 【?】; /*SPACE*/ gcd=【?】; lcm=p/gcd; /*SPACE*/ printf(gcd=%d,lcm=%dn, 【?】);答案: 1). r != 0 或 r 2). r=m%n 或 r=m-m/n*n 3). n 4). gcd,lcm 或 n,lcm第15题 题号:445/*-【程序填空】-功能:编程求任意给定的n个数中的奇数的连乘积,偶数的平方和 以及0的个数,n通过scanf()函数输入。-*/#include main() int r=1,s=0,t=0,n,a,i; printf(n=);scanf(%d,&n); for(i=1;i=n;i+) printf(a=); /*SPACE*/ scanf(%d,【?】); /*SPACE*/ if(【?】!=0) /*SPACE*/ 【?】=a; else if(a!=0) /*SPACE*/ s+=【?】; else t+; printf(r=%d,s=%d,t=%dn,r,s,t);答案: 1). &a 2). a%2 3). r* 4). a*a第16题 题号:13/*-【程序填空】-功能:产生并输出杨辉三角的前七行。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1-*/#include main ( ) int a77; int i,j; for (i=0;i7;i+) ai0=1; /*SPACE*/ 【?】; for (i=2;i7;i+) /*SPACE*/ for (j=1;j【?】;j+) /*SPACE*/ aij= 【?】; for (i=0;i7;i+) /*SPACE*/ for (j=0; 【?】;j+) printf(%6d,aij); printf(n); 答案: 1). aii=1 2). i 3). ai-1j+ai-1j-1 或 ai-1j-1+ai-1j 4). j=j 或 jj 或 j-1j-1第17题 题号:401/*-【程序填空】-功能:输入某年某月某日,判断这一天是这一年的第几天?-*/#include main() int day,month,year,sum,leap; printf(nplease input year,month,dayn); scanf(%d,%d,%d,&year,&month,&day); switch(month) case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; /*SPACE*/ case 4:【?】;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf(data error);break; /*SPACE*/ 【?】; /*SPACE*/ if(year%400=0|(【?】) leap=1; else leap=0; /*SPACE*/ if(【?】) sum+; printf(it is the %dth day.,sum);答案: 1). sum=90 2). sum=sum+day 或 sum= sum + day 3). year%4 = 0 & year%100 != 0) 4). leap=1&month2 或 leap = 1 & month2 或 leap = 1 & 2month第18题 题号:437/*-【程序填空】-功能:建立一个如下的二维数组,并按以下格式输出。1 0 0 0 10 1 0 1 00 0 1 0 00 1 0 1 01 0 0 0 1-*/#include void main() int a55=0,*p5,i,j; for(i=0;i5;i+) /*SPACE*/ pi=【?】; for(i=0;i5;i+) /*SPACE*/ *(【?】+i)=1; /*SPACE*/ *(pi+5-(【?】)=1; for(i=0;i5;i+) for(j=0;j5;j+)printf(%2d,pij); /*SPACE*/ 【?】; 答案: 1). &ai0 2). pi 3). i+1 或 1+i 4). putchar(n)第19题 题号:34/*-【程序填空】-功能:以下程序的功能如(图1)。-*/#include #include /*SPACE*/double fun(【?】, int n) /*SPACE*/ 【?】; double xa=0, s; for (j=0; jn; j+ ) xa += xj/n; /*SPACE*/ 【?】; for (j=0; jn; j+ ) s += (xj-xa)*(xj-xa)/n; /*SPACE*/ 【?】; main ( ) double x100 = 193.199, 195.673, 195.757, 196.051, 196.092,196.596,196.579, 196.763; printf(%fn, fun (x, 8);答案: 1). float x 或 float *x 或 double x 或 double *x 2). int j 3). s = 0 或 s = 0.0 4). return s 或 return(s)第20题 题号:435/*-【程序填空】-功能:找出数组中最大值和此元素的下标,数组元素的值由键盘 输入。-*/#include void main() int a10,*p,*s,i; for(i=0;i10;i+) /*SPACE*/ scanf(%d, 【?】); /*SPACE*/ for(p=a,s=a;【?】 4). *s第21题 题号:398/*-【程序填空】

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论