搜档网
当前位置:搜档网 › C语言期末复习题(编程题部分)

C语言期末复习题(编程题部分)

C语言期末复习题(编程题部分)
C语言期末复习题(编程题部分)

编程题目:

1、在考生目录下,要求程序PROG1.C的功能是:

按下面公式的前1000项,求π的近似值:

π 2 2 4 4 6 6 8 8 2n 2n — =(— * —)*(— * —)*(— * —)*(— * —)* …… *(—— * —— )

2 1

3 3 5 5 7 7 9 2n-1 2n+1

部分源程序存在文件PROG1.C中,程序中main()函数及部分变量

已经定义,部分程序语句已经输入,请考生不要改动。如果考生需要

使用其它变量,请自行定义并赋值。请将运算结果存入变量pi中。

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

void NONO(double x);

void main()

{ double pi;

/***********begin***********/

double k=1.0;

int i;

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

k=k*i*i/((i-1)*(i+1));

pi=2*k;

/************end************/

printf("pi=%f\n",pi);

NONO(pi);

}

void NONO( double x)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"pi=%f\n",x);

fclose(f);

}

2、在考生目录下,要求程序PROG1.C的功能是:

按下面公式的前1000项,求π的近似值:

π 1 1 2 1 2 3 1 2 3 4

—= 1 + —+(—* —)+(—* —* —)+( —* —* —* —) + ……

2 3 3 5 3 5 7 3 5 7 9

部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经定义,部分程序语句已经输入,请考生不要改动。如果考生需要使用其它变量,请自行定义。请将运算结果存入变量pi中。

请考生在main()函数中的空白地方填入所需要的其它语句,存盘并运行,直到得出正确结果。

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

void NONO(double x)

main()

{ double pi;

/***********begin***********/

double t=1.0;

int i;

for(i=1,pi=1.0;i<1000;i++)

{

t=t*i/(2*i+1);

pi=pi+t;

}

pi=2*pi;

/************end************/

printf("pi=%.10f\n",pi);

NONO(pi);

}

void NONO( double x)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"pi=%.10f\n",x);

fclose(f);

}

3、在考生目录下,要求程序PROG1.C的功能是:

按下面公式的前20000项,求π的近似值:

π 1 1 1 1

—=(1 + ——)*(1 + ——)*(1 + ——) * (1 + ——) + ……

2 1*

3 3*5 5*7 7*9

部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经

定义,部分程序语句已经输入,请考生不要改动。如果考生需要使用其它

变量,请自行定义。请将运算结果存入变量pi中。

请考生在main()函数中的空白地方填入所需要的其它语句,存盘并运

行,直到得出正确结果。

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

main()

{ double pi;

long int i;

/***********begin***********/

pi=1.0;

for(i=1;i<=40000;i=i+2)

pi=pi*(1+1.0/(i*(i+2)));

pi=2*pi;

/************end************/

printf("pi=%.8f\n",pi);

NONO(pi);

}

NONO( double x)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"pi=%.8f\n",x);

fclose(f);

}

4、在考生目录下,要求程序PROG1.C的功能是:

按下面公式,求π的近似值,直到最后一项中的分数小于1e-6为止(不包括该项)。

π 1 1 1 1

—=(1 + ——)*(1 + ——)*(1 + ——) * (1 + ——) + ……

2 1*

3 3*5 5*7 7*9

部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经

定义,部分程序语句已经输入,请考生不要改动。如果考生需要使用其它

变量,请自行定义。请将运算结果存入变量pi中。

请考生在main()函数中的空白地方填入所需要的其它语句,存盘并运

行,直到得出正确结果。

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

main()

{ double pi;

/***********begin***********/

pi=1.0;

for(i=1; 1.0/(i*(i+2))>1e-6;i=i+2)

pi=pi*(1+1.0/(i*(i+2)));

pi=2*i;

/************end************/

printf("pi=%.10f\n",pi);

NONO(pi);

}

NONO( double x)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"pi=%.10f\n",x);

fclose(f);

}

5、在考生目录下,要求程序PROG1.C的功能是:

产生100个[100,200)之间的随机整数,并求出这些整数中的最大值和最小值(程序中不要使用randomize()函数)。

提示考生:调用函数rand()可返回一个[0,32767]之间的随机整

数,使用表达式rand()%100+100 能产生一个100~200之间(不包括200)的随机整数。

部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已

经定义并赋初值,部分程序语句已输入,请考生不要改动。如果考生需

要使用其它变量,请自行定义并赋值。请将运算结果存入变量sum中。

请考生在main()函数中的空白地方填入所需要的其它语句,存盘并

运行,直到得出正确结果。

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

main()

{ int max,min;

/***********begin***********/

min=199,max=100;

for(int i=1;i<=100;i++)

{ int k= rand()%100+100;

if(min>k)min=k;

if(max

}

/************end************/

printf("max=%d,min=%d\n",max,min);

NONO(max,min);

}

NONO( int max,int min)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"max=%d,min=%d\n",max,min);

fclose(f);

}

6、在考生目录下,要求程序PROG1.C能解决如下问题:

已知我国在1982年有10亿3千万人口,以年人口平均增长率1.5%计算,从1982年起经过几年我国人口会超过12亿,这年的人口数量为多少(人口

数量以亿为单位)?

部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经定义并赋值,部分程序语句已经输入,请考生不要改动。变量y存放经过的年数,变量p存放当年的人口数量,如果考生需要使用其它变量,请自行定义。请将运算结果存入变量p和y中。

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

main()

{ int y;

double p=10.3;

/***********begin***********/

for(y=1;;y++)

{

p=p*1.015;

if(p>12)break;

}

/************end************/

printf("y=%d,p=%f\n",y,p);

NONO(y,p);

}

NONO( int y,double p)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"y=%d,p=%f\n",y,p);

fclose(f);

}

7、在考生目录下,要求程序PROG1.C的功能是:

判断m是否为素数。如果m为素数使变量f的值为1,否则使变量f值为0。

部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿

改动其它位置的任何内容。

注意:main()函数中的最后一行以及main()函数后面的内容,考

生不必阅读,但千万不要对这些内容作任何改动。()

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

void NONO(int k,int m)

main()

{ int m=123,f=1,i;

/***********begin***********/

for(i=2;i<=m/2;i++)

{

if(m%i==0)

{f=0;break;}

}

/************end************/

else printf("%d is not a prime\n",m);

NONO(f,m);

}

void NONO( int k,int m)

{ FILE *f;

f=fopen("out1.dat","w");

if(k==1) fprintf(f,"%d is a pri\n",m);

else fprintf(f,"%d is not a pri\n",m);

fclose(f);

}

8、在考生目录下,要求程序PROG1.C的功能是:

求两个整数m和n的最大公约数。

部分源程序存在文件PROG1.C中,请将最大公约数存放在变量t中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿

改动其它位置的任何内容。

注意:main()函数中的最后一行以及main()函数后面的内容,考

生不必阅读,但千万不要对这些内容作任何改动。()

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

main()

{ int m=676,n=144,t,i;

/***********begin***********/

i=m;t=n;

while(i%t!=0)

{

int k;k=i%t;

i=t;t=k;

}

/************end************/

printf("The highest common divisor of %d and %d is %d\n",m,n,t);

NONO(m,n,t);

}

NONO( int m,int n,int s)

{ FILE *f;

f=fopen("out1.dat","w");

fclose(f);

}

9、在考生目录下,要求程序PROG1.C的功能是:

产生100个[0,100)之间的随机整数,并求出这些随机整数中的最大值(程序中不要使用randomize()函数)。

提示考生:调用函数rand()可返回一个[0,32767]之间的随机整

数,使用表达式rand()%100 能产生一个[0,100)之间的随机整数。

部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经定义并赋初值,部分程序语句已输入,请考生不要改动。所产生的随机整数存放变量x中,如果考生需要使用其它变量,请自行定义并赋值。请将运算结果存入变量max中。

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容

#include "stdio.h"

#include "math.h"

#include "conio.h"

#include "stdlib.h"

main()

{ int max,x;

int i=1;

/***********begin***********/

/************end************/

printf("i=%d,max=%d\n",i,max);

NONO(i,max);

}

NONO( int i,int max)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"i=%d,max=%d\n",i,max);

fclose(f);

}

10、在考生目录下,要求程序PROG1.C能解决如下问题:

已知某企业今年的产值为150.5万元,如果产值的年均增长率为7.8%,

经过10年后,企业的产值达到多少万元?

部分源程序存在文件PROG1.C中,请将运算结果存入变量p中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿

改动其它位置的任何内容。

注意:main()函数中的最后一行以及main()函数后面的内容,考

生不必阅读,但千万不要对这些内容作任何改动。()

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

main()

{ int i;

double p=150.5;

/***********begin***********/

for(i=1;i<=10;i++)

p=p*1.078;

/************end************/

printf("i=%d,p=%f\n",i,p);

NONO(i,p);

}

NONO( int y,double p)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"i=%d,p=%f\n",y,p);

fclose(f);

}

11、在考生目录下,要求程序PROG1.C的功能是:按下面公式的前20项求f(x) 的近似值,已知:

x^2 x^3 x^4 x^n

f(x) = 1 + x + —— + —— + ——+ …… + ————+ ……

2! 3! 4! n!

式中的x^4表示x的4次方,其它类推。请计算当x=1.0时f(x)的近似值。

部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经

定义并赋值,部分程序语句已经输入,请考生不要改动。如果考生需要使

用其它变量,请自行定义并赋值。请将运算结果存入变量sum中。

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

#include "stdio.h"

#include "math.h"

#include "conio.h"

#include "stdlib.h"

main()

{ double sum=1.0;

double x=1.0;

/***********begin***********/

int k=1;double y=1.0;

int i;

for( i=1;i<=20;i++)

{

k=k*i;

y=y*x;

sum=sum+y/k;

}

/************end************/

printf("sum=%.10f\n",sum);

NONO(sum);

}

NONO( double s)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"sum=%.10f\n",s);

fclose(f);

}

12、在考生目录下,要求程序PROG1.C的功能是:按下面公式的前20项求f(x) 的近似值,已知:

x^2 x^3 x^4 x^n

f(x) = 1 + x + —— + —— + ——+ …… + ————+ ……

2! 3! 4! n!

式中的x^4表示x的4次方,其它类推。请计算当x=0.5时f(x)的近似值。

部分源程序存在文件PROG1.C中,程序中main()函数及部分变量已经

定义并赋值,部分程序语句已经输入,请考生不要改动。如果考生需要使

用其它变量,请自行定义并赋值。请将运算结果存入变量sum中。

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

main()

{ double sum=1.0;

double x=0.5;

/***********begin***********/

int k=1;double y=1.0;

int i;

for( i=1;i<=20;i++)

{

k=k*i;

y=y*x;

sum=sum+y/k;

}

/************end************/

printf("sum=%.10f\n",sum);

NONO(sum);

}

NONO( double s)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"sum=%.10f\n",s);

fclose(f);

}

13、在考生目录下,要求程序PROG1.C的功能是:

按下面的公式求sum的近似值,直到最后一项的项值小于1e-6为止(不包括该项)。

1 1 1 1

sum = 1 - ——+ ——- ——+ ……+(-1)^(n-1) ——

2 3 4 n

部分源程序存在文件PROG1.C中,请将运算结果存入变量s中。结果

保留3位小数。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿

改动其它位置的任何内容。

注意:main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。

#include "stdio.h"

#include "math.h"

#include "stdlib.h"

main()

{ double sum;

/***********begin***********/

sum=1;

int i,f=1;

for(i=2;1.0/i>=1e-6;i=i+1)

{

f=-f;

sum=sum+f*1.0/i;

}

/************end************/

printf("sum=%.3f\n",sum);

NONO(sum);

}

NONO( double x)

{ FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"sum=%.3f\n",x);

fclose(f);

}

14、在考生目录下,要求程序PROG1.C的功能是:

将字符串倒序存放并输出。

例如,当字符串为"This Is a c Program"

输出:"margorP c a sI sihT"

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

main()函数中的最后一行以及main()函数后面的内容,

考生不必阅读,但千万不要对这些内容作任何改动。

#include

#include

void fun(char str1[])

{

/***********begin***********/

/************end************/

}

main()

{ char str1[80]="This Is a c Program";

printf("String is: %s\n",str1);

fun(str1);

printf("Result is: %s\n",str1);

nono(str1);

}

nono(char str1[])

{FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"%s\n",str1);

fclose(f);

}

15、在考生目录下,要求程序PROG1.C的功能是:

将字符串2连接到字符串1的后面并输出。(不用strcat函数实现) 例如,当字符串1为"This Is a ",字符串2为"c Program"

则输出:"This Is a c Program"

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

main()函数中的最后一行以及main()函数后面的内容,

考生不必阅读,但千万不要对这些内容作任何改动。

#include

#include

void fun(char str1[],char str2[])

{

/***********begin***********/

/************end************/

}

main()

{ char str1[80]="This Is a ",str2[80]="c Program";

printf("String1 is: %s\n",str1);

printf("String2 is: %s\n",str2);

fun(str1,str2);

printf("Result is: %s\n",str1);

nono(str1);

}

nono(char str1[])

{FILE *f;

f=fopen("out1.dat","w");

fprintf(f,"%s\n",str1);

fclose(f);

}

16、

在考生目录下,要求程序PROG1.C的功能是:

求3*3矩阵的主对角线和副对角线的最小值.(矩阵由主函数随机产生)。

例如,当矩阵为:

1 2 3

4 9 5

7 8 6

则最小值为:1.

注意: 部分源程序存在文件PROG1.C中。

请在/*******begin********/ 与/********end*********/

之间填入你编写的若干语句。请勿改动其它位置的任何内容。

main()函数中的最后一行以及main()函数后面的内容,

考生不必阅读,但千万不要对这些内容作任何改动。

#include

int fun(int a[3][3])

{

/***********begin***********/

/************end************/

}

main()

{ int a[3][3];

int i,j,min;

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

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

a[i][j]=rand()%65+1;

printf("array is:\n");

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

{

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

printf("%5d",a[i][j]);

printf("\n");

}

min=fun(a);

printf("Result is :%d\n",min); nono(min);

}

nono(int min)

{FILE *f;

f=fopen("out1.dat","w"); fprintf(f,"Result is :%d\n",min); fclose(f);

}

相关主题