全真c语言程序填空题考试题库 下载本文

内容发布更新时间 : 2024/11/2 22:25:27星期一 下面是文章的全部内容请认真阅读。

共计131道试题 一、程序填空 (共131题)

Turbo C(共131试题)

3)./*------------------------------------------------------- 【程序填空】

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

功能:已定义一个含有30个元素的数组s,函数fun1的功能是按

顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序

每五个元素求一个平均值, 并将该值存放在数组w中。

-------------------------------------------------------*/ float s[30],w[6]; fun1(float s[]) { int k,i;

for(k=2,i=0;i<30;i++) {

/***********SPACE***********/ ________________ ; k+=2; } }

fun2(float s[],float w[]) {

float sum=; int k,i;

for(k=0,i=0;i<30;i++) {

sum+=s[i];

/***********SPACE***********/ ________________; {

w[k]=sum/5;

/***********SPACE***********/ ________________ ; k++; } } } main() { int i; fun1(s);

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

________________; for(i=0;i<30;i++) {

if(i%5==0) printf(\ printf(\ }

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

【1】 s[i]=k 或 s[i]=(i+1)*2 【2】 if( ( i + 1 )%5 == 0 ) 或 if( ( i + 1 )/5*5 ==i+1) 【3】 sum=0 或 sum= 【4】 fun2(s,w)

4)./*------------------------------------------------------- 【程序填空】

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

功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ 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 或 jj 【4】 f= f * j

5)./*------------------------------------------------------- 【程序填空】

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

功能:将一个字符串中下标为m的字符开始的全部字符复制成为另 一个字符串。

-------------------------------------------------------*/ #include<>

void strcopy(char *str1,char *str2,int m) {

char *p1,*p2;

/***********SPACE***********/ ________________; p2=str2; while(*p1)

/***********SPACE***********/ ________________;

/***********SPACE***********/ ________________; } main() { int i,m;

char str1[80],str2[80]; gets(str1); scanf(\

/***********SPACE***********/ ________________; puts(str1);puts(str2); } 答案:

【1】 p1= str1 + m

【2】 *p2++=*p1++ 或 *(p2++)=*(p1++) 或 *p2=*p1,p2++,p1++ 或 *p2=*p1++,p2++ 或 *p2++=*p1,p1++

【3】 *p2='\\0' 或 *p2=0 或 *p2=NULL

【4】 strcopy(str1,str2,m)

6)./*------------------------------------------------------- 【程序填空】

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

功能:以下程序是用选择法对10个整数按升序排序。

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

/***********SPACE***********/ ________________ main() {

int i,j,k,t,a[N]; for(i=0;i<=N-1;i++) scanf(\ for(i=0;i

/***********SPACE***********/ ________________;

/***********SPACE***********/ for(j=i+1; ________________;j++) if(a[j]

/***********SPACE***********/ if(________________) { t=a[i]; a[i]=a[k]; a[k]=t; } }

printf(\ for(i=0;i<=N-1;i++) printf(\ printf(\ } 答案:

【1】 #define N 10 【2】 k=i

【3】 jj 或 j<=N-1 或 N-1>=j 【4】 k != i

7)./*------------------------------------------------------- 【程序填空】

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

功能:从键盘上输入一个字符串, 将该字符串升序排列后输出到

文件中,然后从该文件读出字符串并显示出来。

-------------------------------------------------------*/ #include<> #include<> #include<> main() { FILE *fp;

char t,str[100],str1[100]; int n,i,j;

if((fp=fopen(\) {

printf(\open

this

file.\\n\ exit(0); }

printf(\gets(str);

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

________________;

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

________________ ;i++) for(j=0;j

if(________________) { t=str[j]; str[j]=str[j+1]; str[j+1]=t; }

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

________________; fclose(fp); fp=fopen(\ fgets(str1,100,fp); printf(\ fclose(fp); } 答案:

【1】 n=strlen(str) 或

for(n=0;str[n]!='\\0';n++) 或 for(n=0;str[n];n++) 或

for(n=0;str[n]!=0;n++)

【2】 ii 或 i<-1+n 或 ii 或 -1+n>i 或 i<=n-1 或 n-1>=i 或 -1+n>=i

【3】 str[j]>str[ j + 1 ] 或 str[ j + 1 ]

4

fputs(str,fp)

或 fprintf(fp,\或

fprintf(fp,\

8)./*------------------------------------------------------- 【程序填空】

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

功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出 其和。

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

int i,n,sum; sum=0;

/***********SPACE***********/ ________________;

/***********SPACE***********/ for(i=1; ________________ ;i++) /***********SPACE***********/ if(________________) if(i%2==0) {

sum=sum+i; n++;

printf(\

/***********SPACE***********/ if(________________) printf(\ }

printf(\ } 答案: 【1】 n=0

【2】 i<=300 或 i<300 或 300>=i 或 300>i

【3】 i%7 == 0 || i == 0 或 !(i%7)||!(i) 或 !(i)||!(i%7) 或 !(i%7&&i)

【4】 n%5 == 0 或 !(n%5) 或 n/5*5==n 9)./*------------------------------------------------------- 【程序填空】

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

功能:以下程序的功能如(图1)。

-------------------------------------------------------*/ #include <> main() { int f;

/***********SPACE***********/ ________________; float t,pi; t=1;pi=t;f=1;n=;

/***********SPACE***********/ while(________________ ) { n=n+2;

/***********SPACE***********/ ________________; t=f/n; pi=pi+t; }

/***********SPACE***********/ ________________; printf(\ } 答案:

【1】 float n 或 duoble n

【2】 fabs(t)>=1e-6 或 fabs(t)>= 或 1e-6<=fabs(t) 或 <=fabs(t)

【3】 f=-f 或 f=-1*f 或 f=f*(-1) 或 f=f*-1 或 f=(-1)*f 【4】 pi= pi * 4 或 pi*=4 (图1)

11)./*------------------------------------------------------- 【程序填空】

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

功能:求100-999之间的水仙花数 说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。

例如:153=1^3+5^3+3^3)。 -------------------------------------------------------*/

int fun(int n) { int i,j,k,m; m=n;

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

________________; for(i=1;i<4;i++) {

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

________________; m=(m-j)/10; k=k+j*j*j; } if(k==n)

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

________________; else return(0);} main() { int i;

for(i=100;i<1000;i++) /***********SPACE***********/

if(________________==1) printf(\ } 答案: 【1】 k=0

【2】 j=m 或 j=m-m/10*10 或 j=m-10*(m/10) 【3】 return(1) 【4】 fun(i) (图1)

12)./*------------------------------------------------------- 【程序填空】

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

功能:产生并输出如下形式的方阵。

1 2 2 2 2 2 1 3 1 2 2 2 1 4 3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1

-------------------------------------------------------*/ main() {

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

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

/***********SPACE***********/ if (________________) a[i][j]=1; /***********SPACE***********/

else if (ij&&i+j<6) a[i][j]=3; /***********SPACE***********/ else if (________________) a[i][j]=4; else a[i][j]=5; }

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

for (j=0;j<7;j++) printf(\ /***********SPACE***********/ ________________; } } 答案:

【1】 i == j || i + j == 6 【2】 a[i][j]=2

【3】 i6 或 j>i && i + j>6 或 ii && i + 6

13)./*------------------------------------------------------- 【程序填空】

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

功能:产生并输出杨辉三角的前七行。 1 1 1 1 2 1 1 3 3 1