程序填空

更新时间:2024-06-07 02:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

试卷编号:10765 所属语言:C语言

试卷方案:TC_150604083824 试卷总分:480分 共有题型:1种

一、程序填空 共48题 (共计480分)

第1题 (10.0分) 题号:423 难度:易 第2章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:考查字符串数组的应用。输出26个英文字母。

-------------------------------------------------------*/

#include void main (void) {

char string[256]; int i;

/***********SPACE***********/ for (i = 0; i < 26; 【?】) /***********SPACE***********/ string[i] = 【?】; string[i] = '\\0';

/***********SPACE***********/

printf (\【?】); } 答案:

=======(答案1)======= i++

=========或========= ++i

=========或========= i=i+1

=========或========= i+=1

=======(答案2)======= 'A' + i

=========或========= i+'A'

=========或========= 65 + i

=========或========= i+65

=======(答案3)======= string

第2题 (10.0分) 题号:405 难度:中 第2章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:要求输出结果为: A,B 65,66

-------------------------------------------------------*/

#include void main() {

/***********SPACE***********/ char a,【?】;

/***********SPACE***********/ a=【?】; b='b'; a=a-32;

/***********SPACE***********/ b=b-【?】;

printf(\} 答案:

=======(答案1)======= b

=======(答案2)======= 'a'

=========或=========

97

=======(答案3)======= 32

第3题 (10.0分) 题号:162 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:下列程序的功能为:输出100以内能被4整除且个位数为8的所有整数; 请填写适当的符号或语句,使程序实现其功能。

-------------------------------------------------------*/ #include main() { int i,j;

/***********SPACE***********/ for(i=0;【?】; i++) { j=i*10+8;

/***********SPACE***********/ if ( 【?】)

/***********SPACE***********/ 【?】;

printf(\ } } 答案:

=======(答案1)======= i<10

=======(答案2)======= j%4!=0

=======(答案3)======= continue

第4题 (10.0分) 题号:27 难度:中 第1章 /*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:统计一个字符串中的字母、数字、空格和其它字符的个数。

-------------------------------------------------------*/

#include

void fun(char s[],int b[]) { int i;

for (i=0;s[i]!='\\0';i++)

if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++;

/***********SPACE***********/ else if (【?】) b[1]++;

/***********SPACE***********/ else if (【?】 ) b[2]++; else b[3]++; } main () {

char s1[80];int a[4]={0}; int k; gets(s1);

/***********SPACE***********/ 【?】; puts(s1); for(k=0;k<4;k++) printf(\} 答案:

=======(答案1)======= '0'<=s[i] && s[i]<='9' =========或========= s[i]>='0' && s[i]<='9' =========或=========

'0'<=s[i] && '9'>=s[i] =========或========= s[i]>='0' && '9'>=s[i] =========或========= 48<=s[i] && s[i]<=57 =========或========= s[i]>=48 && s[i]<=57 =========或========= 48<=s[i] && 57>=s[i] =========或========= s[i]>=48 && 57>=s[i] =========或========= !( s[i] < 48 || s[i] > 57 ) =========或=========

!( s[i] < '0' || s[i] > '9' )

=======(答案2)======= s[i] == ' '

=========或========= s[i] == 32

=======(答案3)======= fun(s1,a)

第5题 (10.0分) 题号:134 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:用冒泡法对数组a 进行由小到大的排序。

-------------------------------------------------------*/

#include void fun(int a[],int n){ int i,j,t;

/***********SPACE***********/ for (j=0; 【?】;j++)

/***********SPACE***********/ for (i=0; 【?】;i++)

/***********SPACE***********/ if(【?】) { t=a[i];

a[i]=a[i+1]; a[i+1]=t; } } main(){

int i,a[10]={3,7,5,1,2,8,6,4,10,9}; /***********SPACE***********/ 【?】;

for(i=0;i<10;i++) printf(\} 答案:

=======(答案1)======= j<=n-1

=========或========= n-1>=j

=========或========= j<=-1+n

=========或========= -1+n>=j

=========或========= j

=========或========= n>j

=========或========= j

=======(答案2)======= i

=========或========= n-j-1>i

=========或========= i

=========或========= n-1-j>i

=========或========= i<=n-j-2

=========或========= i<=n-2-j

=======(答案3)=======

a[i]>a[ i + 1 ] =========或========= a[ i + 1 ]

=======(答案4)======= fun(a,10)

第6题 (10.0分) 题号:133 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:下面的程序是求1!+3!+5!+……+n!的和。

-------------------------------------------------------*/

#include main(){

long int f,s; int i,j,n;

/***********SPACE***********/ 【?】;

scanf(\

/***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1; /***********SPACE***********/ for(j=1; 【?】;j++)

/***********SPACE***********/ 【?】; s=s+f; }

printf(\} 答案:

=======(答案1)======= s=0

=======(答案2)======= i+=2

=========或========= i=i+2

=========或========= i++,i++

=======(答案3)======= j<=i

=========或========= i>=j j

=========或========= i+1>j

=======(答案4)======= f = f * j

=========或========= f*=j

第7题 (10.0分) 题号:31 难度:难 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:用冒泡法对数组a 进行由小到大的排序。

-------------------------------------------------------*/ #include void fun(int a[],int n) {

int i,j,t;

/***********SPACE***********/ for (j=0; 【?】;j++)

/***********SPACE***********/ for (i=0; 【?】;i++)

/***********SPACE***********/ if(【?】) {

t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } main() {

int i,a[10]={3,7,5,1,2,8,6,4,10,9}; /***********SPACE***********/ 【?】;

for(i=0;i<10;i++) printf(\} 答案:

=======(答案1)======= j<=n-1

=========或========= n-1>=j

=========或========= j<=-1+n

=========或========= -1+n>=j

=========或========= j

=========或========= n>j

=========或========= j

=======(答案2)======= i

=========或========= n-j-1>i

=========或========= i

=========或========= n-1-j>i

=========或========= i<=n-j-2

=========或========= i<=n-2-j

=======(答案3)======= a[i]>a[ i + 1 ] =========或========= a[ i + 1 ]

=======(答案4)======= fun(a,10)

第8题 (10.0分) 题号:431 难度:易 第2章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:计算圆周率的近似值。

-------------------------------------------------------*/

#include #include main() {

int s,n;

/***********SPACE***********/ double 【?】,t; t=1;pi=0;n=1;s=1;

/***********SPACE***********/ while(【?】>=2e-6) {

pi+=t;n+=2;s=-s;t=s/n; }

/***********SPACE***********/ pi*=【?】;

printf(\} 答案:

=======(答案1)======= pi

=======(答案2)======= fabs(t)

=======(答案3)======= 4

第9题 (10.0分) 题号:614 难度:中 第20章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:以下程序的功能是:输出a、b、c三个变量中的最小值。

-------------------------------------------------------*/ #include main() {

int a,b,c,t1,t2;

/***********SPACE***********/ scanf(\【?】); t1=a

/***********SPACE***********/ t2=c

=======(答案1)======= &c

=======(答案2)======= c:t1

第10题 (10.0分) 题号:20 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:求两个非负整数的最大公约数和最小公倍数。

-------------------------------------------------------*/ #include main() {

int m,n,r,p,gcd,lcm; scanf(\ if(m

/***********SPACE***********/

while(【?】 ) {

/***********SPACE***********/ m=n;n=r; 【?】; }

/***********SPACE***********/ gcd=【?】; lcm=p/gcd;

/***********SPACE***********/ printf(\【?】); } 答案:

=======(答案1)======= r != 0

=========或========= r

=======(答案2)======= r=m%n

=========或========= r=m-m/n*n

=======(答案3)======= n

=======(答案4)======= gcd,lcm

=========或========= n,lcm

第11题 (10.0分) 题号:480 难度:难 第2章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:输出Fibonacci数列的前15项,要求每行输出5项。 Fibonacci数列:1,1,2,3,5,8,13...........

-------------------------------------------------------*/

#include

main() {

/***********SPACE***********/

int 【?】[15],i; fib[0]=1;fib[1]=1; for (i=2;i<15;i++)

/***********SPACE***********/

fib[i]=【?】; for(i=0;i<15;i++) {

printf(\ /***********SPACE***********/

if ( 【?】 ) printf(\ } } 答案:

=======(答案1)======= fib

=======(答案2)======= fib[i-2]+fib[i-1] =========或========= fib[i-2] + fib[i-1]

=======(答案3)======= i%5 == 4

第12题 (10.0分) 题号:18 难度:易 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:将一个数组中的元素按逆序存放。

-------------------------------------------------------*/ #include #define N 7 main () {

static int a[N]={12,9,16,5,7,2,1},k,s;

printf(\ for (k=0;k

/***********SPACE***********/ for (k=0;k

s=a[k];

/***********SPACE***********/ 【?】 ;

/***********SPACE***********/ 【?】 ; }

printf(\ for (k=0;k

/***********SPACE***********/ 【?】 (\} 答案:

=======(答案1)======= k++

=========或========= k= k + 1

=========或========= k+=1

=========或========= ++k

=======(答案2)======= a[k]=a[N-k-1] =========或========= a[k]=a[N-1-k] =========或========= a[k]=a[6-k]

=========或========= *(a+k)=*(a+N-k-1) =========或========= *(a+k)=*(a+N-1-k] =========或========= a[k]=a[-1+N-k] =========或========= a[k]=a[-1-k+N] =========或=========

a[k]=a[-k-1+N] =========或========= a[k]=a[-k+N-1] =========或========= *(a+k)=*(a+N-k-1) =========或========= a[6-k]=s

=======(答案3)======= a[N-k-1]=s

=========或========= a[N-1-k]=s

=========或========= a[6-k]=s

=========或========= a[N -k -1]=s

=========或========= *(a +N -k -1)=s

=======(答案4)======= printf

第13题 (10.0分) 题号:627 难度:中 第20章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:调用函数fun计算m=1-2+3-4+……+9-10,并输出结果。

-------------------------------------------------------*/ #include int fun( int n) {

int m=0,f=1,i;

/***********SPACE***********/ for(i=1;【?】;i++) {

m+=i*f;

/***********SPACE***********/ 【?】; }

/***********SPACE***********/ return 【?】;

} main() {

printf(\} 答案:

=======(答案1)======= i<=n

=======(答案2)======= f= -f

=======(答案3)======= m

第14题 (10.0分) 题号:165 难度:中 第2章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。

-------------------------------------------------------*/ #include

/***********SPACE***********/ 【?】 main() { int x; double y,z;

/***********SPACE***********/ scanf(\【?】\ z=2*x*sqrt(y); /***********SPACE***********/ printf(\【?】\ } 答案:

=======(答案1)=======

#include =========或========= #include \

=======(答案2)======= %d%f

=========或========= %d,%f

=======(答案3)======= %.2f

第15题 (10.0分) 题号:439 难度:中 第2章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:1982年我国第三次人口普查,结果全国人口为10.3亿,假 如人口增长率为5%。编写一个程序求在公元多少年总人口 翻了一番。

-------------------------------------------------------*/

#include void main() {

double p1=10.3,p2,r=0.05; int n=1;

/***********SPACE***********/ p2=p1*【?】;

/***********SPACE***********/ while(p2<=【?】) { n++;

/***********SPACE***********/ p2=p2*【?】; }

/***********SPACE***********/ n=【?】;

printf(\年人口总数翻了一番,即为%g亿人\\n\} 答案:

=======(答案1)======= (1+r)

=========或========= (r+1)

=======(答案2)======= 2*p1

=========或========= p1*2

=======(答案3)======= (1+r)

=========或========= (r+1)

=======(答案4)======= n+1982

=========或========= 1982+n

第16题 (10.0分) 题号:159 难度:中 第95章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

说明:下面程序的功能是输出数组s中最大值元素的下标,请填写 程序所缺内容。

-------------------------------------------------------*/ #include\void main( ) {

int k, p;

int s[ ]={1,9,7,2,10,3}; /***********SPACE***********/ for(p=0,k=p; p<6; 【?】) /***********SPACE***********/ if(s[p]>s[k]) 【?】; printf(\}

答案:

=======(答案1)======= p++

=======(答案2)======= k=p

第17题 (10.0分) 题号:23 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:求一个二维数组中每行的最大值和每行的和。

-------------------------------------------------------*/

#include main() {

int a[5][5],b[5],c[5],i,j,k,s=0; for(i=0;i<5;i++) for(j=0;j<5;j++)

a[i][j]=random(40)+20; for(i=0;i<5;i++) {

/***********SPACE***********/ k=a[i][0]; 【?】 ; for(j=0;j<5;j++) {

/***********SPACE***********/ if(k

/***********SPACE***********/ 【?】 ; }

for(i=0;i<5;i++) {

for(j=0;j<5;j++)

/***********SPACE***********/ printf(\【?】 );

printf(\ printf(\ } } 答案:

=======(答案1)======= s=0

=======(答案2)======= k=a[i][j]

=======(答案3)======= c[i]=s

=======(答案4)======= a[i][j]

第18题 (10.0分) 题号:4 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:下面的程序是求1!+3!+5!+……+n!的和。

-------------------------------------------------------*/ #include main() {

long int f,s; int i,j,n;

/***********SPACE***********/ 【?】;

scanf(\

/***********SPACE***********/ for(i=1;i<=n; 【?】) {

f=1; /***********SPACE***********/ for(j=1; 【?】;j++)

/***********SPACE***********/ 【?】;

s=s+f; }

printf(\} 答案:

=======(答案1)======= s=0

=======(答案2)======= i+=2

=========或========= i=i+2

=========或========= i++,i++

=======(答案3)======= j<=i

=========或========= i>=j

=========或========= j

=========或========= i+1>j

=======(答案4)======= f= f * j

第19题 (10.0分) 题号:443 难度:中 第2章 /*------------------------------------------------------- 【程序填空】

--------------------------------------------------------- 功能:企业发放的奖金根据利润提成。利润(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(\

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***********/ 【?】(\} 答案:

=======(答案1)======= i<=200000 200000>=i

=======(答案2)======= i<=600000

=========或========= 600000>=i

=======(答案3)======= i<=1000000

=========或=========

=========或=========

1000000>=i

=======(答案4)======= printf

第20题 (10.0分) 题号:13 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:产生并输出杨辉三角的前七行。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1

-------------------------------------------------------*/ #include main ( ) {

int a[7][7]; int i,j;

for (i=0;i<7;i++) {

a[i][0]=1;

/***********SPACE***********/ 【?】; }

for (i=2;i<7;i++)

/***********SPACE***********/ for (j=1;j<【?】;j++)

/***********SPACE***********/ a[i][j]= 【?】; for (i=0;i<7;i++) {

/***********SPACE***********/ for (j=0; 【?】;j++) printf(\ printf(\

} } 答案:

=======(答案1)======= a[i][i]=1

=======(答案2)======= i

=======(答案3)======= a[i-1][j]+a[i-1][j-1] =========或========= a[i-1][j-1]+a[i-1][j]

=======(答案4)======= j<=i

=========或========= i>=j

=========或========= j

=========或========= i+1>j

=========或========= j-1

=========或========= i>j-1

第21题 (10.0分) 题号:611 难度:易 第20章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:以下程序是实现输出 x,y,z 三个数中的最大者。

-------------------------------------------------------*/ #include main() {

int x = 4, y = 6,z = 7; /***********SPACE***********/ int u ,【?】;

if(x>y)

/***********SPACE***********/ 【?】; else u = y; if(u>z) v = u; else v=z;

printf(\} 答案:

=======(答案1)======= v

=======(答案2)======= u=x

第22题 (10.0分) 题号:415 难度:易 第2章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:数组名作为函数参数,求平均成绩。

-------------------------------------------------------*/ #include

float aver(float a[ ]) /*定义求平均值函数,形参为一浮点型数组名*/ { int i;

float av,s=a[0]; for(i=1;i<5;i++)

/***********SPACE***********/ s+=【?】[i]; av=s/5;

/***********SPACE***********/ return 【?】; }

void main() {

float sco[5],av;

if(k!=i) {

t=a[k]; a[k]=a[i]; a[i]=t; } }

/***********SPACE***********/ for(【?】 )

printf(\ printf(\} 答案:

=======(答案1)======= int t

=======(答案2)======= k=i

=======(答案3)======= a[k]>a[j]

=========或========= a[j]

=======(答案4)======= i=0;i<10;i++

=========或========= i=0;10>i;i++

=========或========= i=0;i<=9;i+=1 =========或========= i=0;9>=i;i++

=========或========= i=0;i<10;i+=1 =========或========= i=0;10>i;i+=1 =========或========= i=0;i<=9;i++

=========或========= i=0;9>=i;i+=1 =========或========= i=0;i<10;++i

=========或========= i=0;10>i;++i

=========或========= i=0;9>=i;++i

=========或========= i=0;i<=9;++i

第33题 (10.0分) 题号:648 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

给定程序中,程序的功能是:从键盘输入的字符中统计数字字符 的个数,用换行符结束循环。请填空。 例如:

输入:CADX2012JSJ0623 输出:8

-------------------------------------------------------*/ #include

void main() {

int n=0,c; c=getchar();

/***********SPACE***********/ while(【?】) {

/***********SPACE***********/ if(【?】) n++; c=getchar(); }

printf(\} 答案:

=======(答案1)======= c!='\\n'

=======(答案2)======= c>='0' && c<='9'

第34题 (10.0分) 题号:136 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:计算100-1000之间有多少个数,其各位数字之和是5

-------------------------------------------------------*/ #include void main() {

int i,s,k,count=0; for(i=100;i<1000;i++) {

s=0; k=i;

/***********SPACE***********/ while(【?】) {

s=s+k; /***********SPACE***********/ k=【?】; } if(s!=5) /***********SPACE***********/ 【?】; else {

count++;

printf(\ } }

printf(\个数为:%d\\n\} 答案:

=======(答案1)======= k>0

=========或========= k

=========或========= k>=1

=======(答案2)======= k/10

=======(答案3)======= continue

第35题 (10.0分) 题号:138 难度:中 第1章 /*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:输入整数a和b,交换a和b后输出。

-------------------------------------------------------*/ #include

void main() {

int a,b,temp;

printf(\输入整数a,b:\ scanf(\ temp=a;

/***********SPACE***********/ 【?】;

/***********SPACE***********/ 【?】;

printf(\} 答案:

=======(答案1)======= a=b

=======(答案2)======= b=temp

第36题 (10.0分) 题号:403 难度:易 第2章

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:输出9*9口诀。

-------------------------------------------------------*/ #include main() {

int i,j,result; printf(\

/***********SPACE***********/ for (i=1;【?】;i++) {

/***********SPACE***********/ for(j=1;j<10;【?】) {

result=i*j;

/***********SPACE***********/ printf(\【?】); }

printf(\ } } 答案:

=======(答案1)======= i<10

=========或========= 10>i

=======(答案2)======= j++

=========或========= ++j

=========或========= j=j+1

=======(答案3)======= result

本文来源:https://www.bwwdw.com/article/3q26.html

Top