编程题目:
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); }