1、C语言上机操作之程序填空一、程序填空 共130题 第1题 (9.0分) 题号:441/*-【程序填空】-功能:从低位开始取出长整型变量s中奇数位上的数,依次构成一 个新数放在t中。-*/#include #include void fun (long s, long *t) long sl=10; s /= 10; /*SPACE*/ *t = s 【?】 10; while(s0) /*SPACE*/ s = 【?】; /*SPACE*/ *t = s%10*sl【?】; /*SPACE*/ sl = sl 【?】10; main() long s, t;clrscr();printf(nP
2、lease enter s:); scanf(%ld, &s);fun(s, &t);printf(The result is: %ldn, t);答案: 1). % 2). s/100 3). + *t 4). *第2题 (9.0分) 题号:439/*-【程序填空】-功能:1982年我国第三次人口普查,结果全国人口为10.3亿,假 如人口增长率为5%。编写一个程序求在公元多少年总人口 翻了一番。-*/#includevoid main() double p1=10.3,p2,r=0.05; int n=1; /*SPACE*/ p2=p1*【?】; /*SPACE*/ while(p2=【?
3、】) n+; /*SPACE*/ p2=p2*【?】; /*SPACE*/ n=【?】; printf(%d年人口总数翻了一番,即为%g亿人n,n,p2);答案: 1). (1+r) 或 (r+1) 2). 2*p1 或 p1*2 3). (1+r) 或 (r+1) 4). n+1982 或 1982+n第3题 (9.0分) 题号:407/*-【程序填空】-功能:有五个学生,每个学生有3门课的成绩,从键盘输入以上数 据(包括学生号,姓名,三门课成绩),计算出平均成绩, 设原有的数据和计算出的平均分数存放在磁盘文件stud 中。-*/#include stdio.hstruct student
4、char num6; char name8; int score3; float avr; stu5;main() int i,j,sum; FILE *fp; /*input*/ for(i=0;i5;i+) printf(n please input No. %d score:n,i); printf(stuNo:); scanf(%s,stui.num); printf(name:); scanf(%s,stui.name); sum=0; /*SPACE*/ for(j=0;【?】;j+) printf(score %d.,j+1); scanf(%d,&stui.scorej); /
5、*SPACE*/ sum+=stui.【?】; stui.avr=sum/3.0; fp=fopen(stud,w); /*SPACE*/ for(i=0;i5;【?】) /*SPACE*/ if(fwrite(&stui,sizeof(【?】),1,fp)!=1) printf(file write errorn); fclose(fp);答案: 1). jj 2). scorej 3). i+ 或 +i 或 i=i+1 4). struct student第4题 (9.0分) 题号:408/*-【程序填空】-功能:输入两个整数,求他们的按位与。-*/#includevoid main()
6、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第5题 (9.0分) 题号:477/*-【程序填空】-功能:编写程序,输出 1000 以内的所有完数及其因子。说明:所谓完数是指一个整数的值等于它的因子之和。例如“ 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6
7、 是 一个完数。-*/#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第6题 (9.0分) 题号:10/*-【程序填空】-功能:输出由字符w构造成
8、的形如W的图形。w ww w w w w w w w w w w w w w ww ww-*/void draw(int n) int i,j,k,r,m; /*SPACE*/ for(i=1; 【?】;i+) for(j=1;j=2;j+) for(r=1;ri;r+)printf( ); printf(w); /*SPACE*/ for(k=1; 【?】 ;k+)printf( ); printf(w); for(m=1;mi;m+)printf( ); /*SPACE*/ 【?】; #include main() int n; clrscr(); printf(input a numbe
9、r:); /*SPACE*/ 【?】; draw(n);答案: 1). i=i 2). k=k 3). printf(n) 4). scanf(%d,&n)第7题 (9.0分) 题号:397/*-【程序填空】-功能:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙 队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比 赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出 三队赛手的名单。-*/main() char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/ for(i=x;i=z;i+) for(j=x;j=z;j+) /*SPACE*/ if(【?】)
10、/*SPACE*/ for(k=x;【?】;k+) /*SPACE*/ if(【?】) /*SPACE*/ if(i!=x&k!=【?】) printf(order is a-%ctb-%ctc-%cn,i,j,k); 答案: 1). i!=j 或 i != j 2). k=k 3). i!=k&j!=k 或 i != k & j != k 4). z第8题 (9.0分) 题号:470/*-【程序填空】-功能:从两个数组中分别提取任意元素xi,yj,问|xi-yj| 的最小值是多少 ?-*/#include /*SPACE*/#define min(x, y) (【?】) int min_di
11、stance(int x, int y, int m, int n) int minimum = INT_MAX; int index_x = 0, index_y = 0; while (index_x m & index_y n) /*SPACE*/ if (【?】) minimum = min(minimum, xindex_x-yindex_y); index_y+; else minimum = min(minimum, yindex_y-xindex_x); /*SPACE*/ 【?】; return minimum;#include void main(void) int x =
12、 1, 3, 7, 11, 18; int m = sizeof(x)/sizeof(int); int y = 4, 5, 8, 13, 22; int n = sizeof(y)/sizeof(int); int i, min_distance(int , int , int, int); printf(nCompute Minimum Distance Between Two Sorted Arrays); printf(n=); printf(nnGiven Array #1 :); for (i = 0; i m; i+) printf(%5d, xi); printf(nnGive
13、n Array #2 :); for (i = 0; i n; i+) printf(%5d, yi); printf(nnMinimum Distance = %d, min_distance(x, y, m, n);答案: 1). xx?x:y 2). xindex_x = yindex_y 或 yindex_y=xindex_x 3). index_x+ 或 index_x=index_x+1 或 +index_x第9题 (9.0分) 题号:30/*-【程序填空】-功能:输入字符串,再输入一个字符,将字符串中与输入字符相 同的字符删除。-*/#include stdio.hvoid fu
14、n(char a,char c) int i,j; /*SPACE*/ for(i=j=0; 【?】;i+) if(ai!=c) aj+=ai; /*SPACE*/ 【?】;main() char a20,cc; gets(a); /*SPACE*/ 【?】; /*SPACE*/ 【?】; puts(a);答案: 1). ai != 0 或 ai 或 ai!=NULL 2). aj=0 或 aj=NULL 或 aj=0 3). cc=getchar() 或 scanf(%c,&cc) 4). fun(a,cc)第10题 (9.0分) 题号:467/*-【程序填空】-功能:输入一个整数n,打印自
15、然数1-n的全排列方案。-*/#include #include #define MAXSIZE 20#define ROTATE(p) int i, temp; temp = permp; for (i = p-1; i = 0; i-) permi+1 = permi; perm0 = temp; void main(void) int permMAXSIZE; int position; int n; int i; char line100; printf(nPermutation by Rotation Method); printf(n=); printf(nnNumber of E
16、lements - ); gets(line); n = atoi(line); for (i = 0; i n; i+) permi = i + 1; position = n - 1; /*SPACE*/ while (【?】) printf(n); for (i = 0; i n2 或 n2*pointer2 或 *pointer2n3 或 n3*pointer3 或 *pointer3n3 或 n3*pointer3 或 *pointer3*pointer2 4). p1,p2第12题 (9.0分) 题号:443/*-【程序填空】-功能:企业发放的奖金根据利润提成。利润(I)低于或等于10万元 时
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1