1、五、程序设计 共1题 (共计6分) 第1题 (6.0分) 题号:391 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目:编写函数求1~100中奇数的平方和。 结果为166650。 -------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函
2、 数的花括号中填入所编写的若干语句。 ------------------------------------------------*/ #include "stdio.h" float sum(int n) { /**********Program**********/ /********** End **********/ } main() { printf("sum=%f\n",sum(100)); yzj(); getch(); } yzj() { FILE *IN,*OUT; int n; int i;
3、 float 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"); } fscanf(IN,"%d",&i); o=sum(i); fprintf(OUT,"%f\n",o); fclose(IN); fclose(OUT); } 答案:---------------------- float s=0; int i,j; for(
4、i=1;i<=n;i=i+2) s=s+i*i; return(s); ---------------------- 五、程序设计 共1题 (共计6分) 第1题 (6.0分) 题号:325 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目:编写函数fun其功能是:能计算从1开始到n的 自然数中偶数的平方的和,n由键盘输入, 并在main()函数中输出。(n
5、是偶数) -------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花 括号中填入所编写的若干语句。 ------------------------------------------------*/ #include "stdio.h" int fun(int n) { /**********Program**********/ /********** End *********
6、/ } main() {int m; printf("Enter m: "); scanf("%d", &m); printf("\nThe result is %d\n", fun(m)); yzj(); getch(); } yzj() { FILE *IN,*OUT; int t; int o; int c; IN=fopen("in.dat","r"); if(IN==NULL) {printf("Read File Er
7、ror"); } OUT=fopen("out.dat","w"); if(OUT==NULL) {printf("Write File Error"); } for(c=1;c<=5;c++) { fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%d\n",o); } fclose(IN); fclose(OUT); } 答案:---------------------- int sum,i; sum =0; for(i=2;i<=n;i=i+2) { sum=sum+i*i;} return
8、sum); ---------------------- 题目:调用函数fun判断一个三位数是否"水仙花数"。 在main函数中从键盘输入一个三位数,并输 出判断结果。请编写fun函数。所谓"水仙花 数"是指一3位数,其各位数字立方和等于该 数本身。 例如,153是一个水仙花数,因为153=1+125+27。 -------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数main 和其它函数中的任何内容,仅在函数fun
9、的花 括号中填入所编写的若干语句。 ------------------------------------------------*/ #include "stdio.h" int fun(int n) { int a,b,c; a=n%10; b=n/10%10; c=n/100; if(a*a*a+b*b*b+c*c*c==n) return 1; else return 0; /**********Program**********/ /********** End **********/
10、 } main() { int n,flag; scanf("%d",&n); flag=fun(n); if(flag) printf("%d 是水仙花数\n",n); else printf("%d 不是水仙花数\n",n); yzj(); } yzj() { FILE *IN,*OUT; int iIN,i; int iOUT; IN=fopen("in.dat","r"); if(IN==NULL) {printf("Please Verify The Currernt Dir..It Ma
11、y Be Changed"); } OUT=fopen("out.dat","w"); if(OUT==NULL) {printf("Please Verify The Current Dir.. It May Be Changed"); } for(i=0;i<10;i++) { fscanf(IN,"%d",&iIN); iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 题目:编写函数fun,函数的功能是:计算并输出给定 整数n的
12、所有因子之和(不包括1与自身)。规定 n的值不大于1000。 例如:n的值为855时,应输出704。 -------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 ------------------------------------------------*/ #include "stdio.h" int fun(int n) { int i;
13、 int sum=0;
for(i=2;i 14、n("17.in","r");
if(IN==NULL)
{printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("17.out","w");
if(OUT==NULL)
{printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<10;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
15、
fclose(IN);
fclose(OUT);
}
题目:请编写一个函数fun,函数的功能是:统计
出若干个学生的平均成绩,最高分以及得最
高分的人数。例如,输入10名学生的成绩分
别为92,87,68,56,92,84,67,75,92,
66,则输出平均成绩为77.9,最高分为92,
得最高分的人数为3人。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fu 16、n的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
float Max=0;
int J=0;
float fun(float array[],int n)
{
/**********Program**********/
/********** End **********/
}
main( )
{
float a[10],ave;
int i=0;
for 17、i=0;i<10;i++)
scanf("%f",&a[i]);
ave=fun(a,10);
printf("ave=%f\n",ave);
printf("max=%f\n",Max);
printf("Total:%d\n",J);
yzj();
}
yzj()
{
FILE *IN,*OUT;
float iIN[10],iOUT;
int iCOUNT;
IN=fopen("in.dat","r");
if(IN==NULL)
{printf("Pleas 18、e Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{printf("Please Verify The Current Dir.. It May Be Changed");
}
for(iCOUNT=0;iCOUNT<10;iCOUNT++)
fscanf(IN,"%f",&iIN[iCOUNT]);
iOUT=fun(iIN,10);
fprintf(OUT,"%f %f\n",iOUT,Max);
fclose(IN);
f 19、close(OUT);
}
题目:编写函数fun,函数的功能是:求一个给定字符串
中的字母的个数。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
int fun(char s[])
{
20、/**********Program**********/
/********** End **********/
}
main()
{
char str[]="Best wishes for you!";
int k;
k=fun(str);
printf("k=%d\n",k);
yzj();
}
yzj()
{
FILE *IN,*OUT;
char sIN[80];
int iOUT,i;
IN=fopen("21.in","r");
if(IN==NULL)
{printf("Please Verify The 21、Currernt Dir..It May Be Changed");
}
OUT=fopen("21.out","w");
if(OUT==NULL)
{printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<10;i++)
{ fscanf(IN,"%s",sIN);
iOUT=fun(sIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
五、程序设计 共 22、1题 (共计10分)
第1题 (10.0分) 题号:365
/*------------------------------------------------
【程序设计】
--------------------------------------------------
19题目:编写函数fun,函数的功能是:求一个
四位数的各位数字的立方和
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
23、 数fun的花括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
int fun(int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int k;
k=fun(1234);
printf("k=%d\n",k);
yzj();
getch();
}
yzj()
{
FILE *IN,*OUT; 24、
int iIN,iOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
{printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<5;i++)
{fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OU 25、T,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int d,k,s=0;
while (n>0)
{d=n%10;
s+=d*d*d;
n/=10;
}
return s;
----------------------
五、程序设计 共1题 (共计10分)
第1题 (10.0分) 题号:406
/*-------------------------------------------- 26、
【程序设计】
--------------------------------------------------
*题目:编写函数fun计算下列分段函数的值:
x*x+x+6 x<0且x≠-3
f(x)= x*x-5x+6 0≤x<10且x≠2及x≠3
x*x-x-1 其它
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在 27、函
数fun的花括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
float fun(float x)
{
/**********Program**********/
/********** End **********/
}
main()
{ float x,f;
printf("Input x=");
scanf("%f",&x);
f=fun(x);
printf("x=%f,f(x 28、)=%f\n",x,f);
getch();
yzj();
}
yzj()
{
FILE *IN,*OUT;
int n;
float i;
float 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<10;n++)
{
fscanf(IN,"%f",&i);
o=f 29、un(i);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
OUT.Dat 为空
float y;
if (x<0 && x!=-3.0)
y=x*x+x+6;
else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0)
y=x*x-5*x+6;
else y=x*x-x-1;
return y;
----------------------
五、程序设计 30、 共1题 (共计10分)
第1题 (10.0分) 题号:406
/*------------------------------------------------
【程序设计】
--------------------------------------------------
*题目:编写函数fun计算下列分段函数的值:
x*x+x+6 x<0且x≠-3
f(x)= x*x-5x+6 0≤x<10且x≠2及x≠3
x*x-x-1 其它
---------------- 31、
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
float fun(float x)
{
/**********Program**********/
/********** End **********/
}
main()
{ flo 32、at x,f;
printf("Input x=");
scanf("%f",&x);
f=fun(x);
printf("x=%f,f(x)=%f\n",x,f);
getch();
yzj();
}
yzj()
{
FILE *IN,*OUT;
int n;
float i;
float o;
IN=fopen("in.dat","r");
if(IN==NULL)
{printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{printf(" 33、Write File Error");
}
for(n=0;n<10;n++)
{
fscanf(IN,"%f",&i);
o=fun(i);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
OUT.Dat 为空
float y;
if (x<0 && x!=-3.0)
y=x*x+x+6;
else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0)
34、 y=x*x-5*x+6;
else y=x*x-x-1;
return y;
----------------------
五、程序设计 共1题 (共计10分)
第1题 (10.0分) 题号:365
/*------------------------------------------------
【程序设计】
--------------------------------------------------
19题目:编写函数fun,函数的功能是:求一个
四位数的各位数字的立方和
--------------------- 35、
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
int fun(int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int k 36、
k=fun(1234);
printf("k=%d\n",k);
yzj();
getch();
}
yzj()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
{printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{printf("Please Verify The Current Dir.. It May Be 37、Changed");
}
for(i=0;i<5;i++)
{fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int d,k,s=0;
while (n>0)
{d=n%10;
s+=d*d*d;
n/=10;
}
return s;
----------------------
五、程序设计 38、 共1题 (共计6分)
第1题 (6.0分) 题号:334
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:编写函数fun,函数的功能是:计算并输出
给定整数的所有因子之积(包括自身)。规
定这个整数的值不大于50。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
39、 和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
#include"conio.h"
long int fun(int n)
{
/**********Program**********/
/********** End **********/
}
main()
{int m;
printf("Ent 40、er m: ");
scanf("%d", &m);
printf("\nThe result is %ld\n", fun(m));
yzj();
getch();
}
yzj()
{
FILE *IN,*OUT;
int s ;
int t;
long int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{ 41、printf("Write File Error");
} for(s=1;s<=5;s++)
{ fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%ld\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
long s=1,i;
for(i=2;i<=n;i++)
if(n%i==0)s=s*i;
return s;
----------------------
五、程序设计 42、 共1题 (共计6分)
第1题 (6.0分) 题号:175
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:编写函数fun求1!+2!+3!+ …… +n!的和,在
main函数中由键盘输入n值,并输出运算
结果。请编写fun函数。
例如:若n值为20,则结果为268040729
----------------------------------------- 43、
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#include 44、t;
scanf("%d",&n);
result=fun(n);
printf("%ld\n",result);
getch();
yzj();
}
yzj()
{
FILE *IN,*OUT;
int i;
int iIN;
long int iOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
45、{printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<5;i++)
{ fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%ld\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int i;
float f=1,s=0;
for(i=1;i<=n;i++)
{f=f*i;
s=s+f;}
retur 46、n s;
----------------------
五、程序设计 共1题 (共计6分)
第1题 (6.0分) 题号:358
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:编写函数fun其功能是:根据整型形参m,
计算如下公式的值:
y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)
例如:若m=9,则应输出:1.168 47、229
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
double fun(int m)
{
/**********Program**********/
/**** 48、 End **********/
}
main()
{int n;
clrscr();
printf("Enter n: ");
scanf("%d", &n);
printf("\nThe result is %1f\n", fun(n));
getch();
yzj();
}
yzj()
{
FILE *IN,*OUT;
int s,i ;
int t;
float o;
IN=fopen 49、"in.dat","r");
if(IN==NULL)
{printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{printf("Write File Error");
}
for(i=0;i<5;i++)
{ fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
do 50、uble y=0;
int i;
for(i=0; i<=m; i++)
{y+=1.0/(i+5); }
return(y);
----------------------
五、程序设计 共1题 (共计6分)
第1题 (6.0分) 题号:404
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:编写函数fun,求任一整数m的n次方。






