C语言期末复习试题

  • 格式:doc
  • 大小:254.50 KB
  • 文档页数:93

试卷编号:10767

所属语言:C语言

试卷方案:TC_150604083824

试卷总分:570分

共有题型:1种

一、程序设计 共57题 (共计570分)

第1题 (10.0分) 题号:374 难度:易 第2章

/*—-——--——-——-——--———————--———-----——-----—-———-——

【程序设计】

————---——---————-——-----————————----—-—--———--——-—

功能:编写函数实现两个数据的交换,在主函数中输入任

意三个数据,调用函数对这三个数据从大到小排序。

-———---—-——-—---—--—--—---—-—--—-—————-—---—---—*/

#include

void wwjt();

void swap(int *a,int *b)

/**********Program**********/

/********** End **********/

main()

{

int x,y,z;

scanf(”%d%d%d",&x,&y,&z);

if(x

if(x

if(y〈z)swap(&y,&z);

printf(”%3d%3d%3d”,x,y,z);

wwjt();

}

void wwjt()

FILE *IN,*OUT;

int m,n;

int i[2];

IN=fopen("in。dat",”r");

if(IN==NULL)

printf(”Read FILE Error");

}

OUT=fopen(”out.dat”,"w");

if(OUT==NULL)

{

printf("Write FILE Error");

}

for(n=0;n<3;n++)

for(m=0;m<2;m++)

{

fscanf(IN,”%d",&i[m]);

}

swap(&i[0],&i[1]);

fprintf(OUT,"%d\n”,i[0]);

fprintf(OUT,”%d\n",i[1]);

fclose(IN);

fclose(OUT);

答案:-—--——-—--———---———---

int k;

k=*a;

*a=*b;

*b=k;

———-————-—---——-———--—

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

/*—-—--——--——-———---—--———---—————--—-—————----——-

【程序设计】

—-——-----———--—----—---———-———------——--————-——-—-

功能:求一批数中小于平均值的数的个数。

-——----—————-———-——---—-——-—--—----—--—-———---—-*/

#include

void wwjt();

int average_num(int a[],int n)

{

/**********Program**********/

/********** End **********/

}

main()

{

int n,a[100],i,num;

scanf(”%d”,&n);

for(i=0;i

scanf("%d”,&a[i]);

num=average_num(a,n);

printf(”the num is:%d\n”,num);

wwjt();

}

void wwjt()

{

FILE *IN,*OUT;

int n;

int i[10];

int o;

IN=fopen(”in.dat",”r”);

if(IN==NULL)

{

printf("Read FILE Error”);

}

OUT=fopen("out.dat”,"w");

if(OUT==NULL)

{

printf(”Write FILE Error");

} for(n=0;n〈5;n++)

{

fscanf(IN,"%d",&i[n]);

o=average_num(i,5);

fprintf(OUT,"%d\n",o);

fclose(IN);

fclose(OUT);

答案:-————--—--—-—---——---—

int i,sum=0,k=0;

double average;

for(i=0;i

sum=sum+a[i];

average=sum*1.0/n;

for(i=0;i

if(average>a[i]) k++;

return(k);

-—----———----—-——--——-

第3题 (10。0分) 题号:406 难度:易 第2章

/*--———--—-——--———-——-——-———-—-—-—-—————---———----

【程序设计】

-——--——-——-———---——--—--——-—---——-—-—-——-—--------

功能:编写函数fun求1000以内所有7的倍数之和。

-———-——-———----—-----———-—--—-—--—--——-——-——————*/

#define N 1000

#include 〈stdio.h>

void wwjt();

int fun(int m)

{

/**********Program**********/

/********** End **********/ }

void main()

int sum;

sum=fun(7);

printf("%d以内所有%d的倍数之和为:%d\n”,N,7,sum);

wwjt();

void wwjt()

{

FILE *IN,*OUT;

int n;

int i[10];

int o;

OUT=fopen("out。dat”,”w");

if(OUT==NULL)

{

printf(”Write FILE Error");

}

o = fun(6);

fprintf(OUT,”%d\n”,o);

fclose(IN);

fclose(OUT);

}

答案:—-—-——---—----—-———---

int s=0,i;

for(i=1;i

if(i%m==0)

s+=i;

return s;

-—-—-——---———-—-—---——

第4题 (10.0分) 题号:324 难度:易 第2章

/*--—-———-——-—----—————-—-————————--——-—----—————-

【程序设计】

———-—-——--—-——-——-—---———--—-—-———--——--——-—-——-——

功能:能计算从1开始到n的自然数中偶数的平方的和,n由

键盘输入,并在main()函数中输出.(n是偶数)

———-—-—-————-—-—--—--—-——--—------—--———------—-*/

#include

void wwjt();

int fun(int n)

/**********Program**********/

/********** End **********/

}

main()

int m;

printf("Enter m: ");

scanf(”%d", &m);

printf(”\nThe result is %d\n”, fun(m));

wwjt();

void wwjt()

{

FILE *IN,*OUT;

int t;

int o;

int c;

IN=fopen(”in。dat",”r");

if(IN==NULL)

{

printf("Read FILE Error”);

}

OUT=fopen(”out。dat”,”w");

if(OUT==NULL)

{

printf(”Write FILE Error”);

}

for(c=1;c<=5;c++)