资源描述
五、程序设计 共1题 (共计6分)
第1题 (6.0分) 题号:391
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:编写函数求1~100中奇数的平方和。
结果为166650。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数的花括号中填入所编写的若干语句。
------------------------------------------------*/
#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;
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(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是偶数)
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
int fun(int n)
{
/**********Program**********/
/********** End **********/
}
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 Error");
}
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(sum);
----------------------
题目:调用函数fun判断一个三位数是否"水仙花数"。
在main函数中从键盘输入一个三位数,并输
出判断结果。请编写fun函数。所谓"水仙花
数"是指一3位数,其各位数字立方和等于该
数本身。
例如,153是一个水仙花数,因为153=1+125+27。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#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 **********/
}
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 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<10;i++)
{ fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
题目:编写函数fun,函数的功能是:计算并输出给定
整数n的所有因子之和(不包括1与自身)。规定
n的值不大于1000。
例如:n的值为855时,应输出704。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
int fun(int n)
{
int i;
int sum=0;
for(i=2;i<n;i++)
{
if(n%i == 0)
{
printf(" %d",i);
sum +=i;
}
}
return sum;
/**********Program**********/
/********** End **********/
}
main()
{
printf("s=%d\n",fun(855));
yzj();
}
yzj()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
IN=fopen("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);
}
fclose(IN);
fclose(OUT);
}
题目:请编写一个函数fun,函数的功能是:统计
出若干个学生的平均成绩,最高分以及得最
高分的人数。例如,输入10名学生的成绩分
别为92,87,68,56,92,84,67,75,92,
66,则输出平均成绩为77.9,最高分为92,
得最高分的人数为3人。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#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(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("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(iCOUNT=0;iCOUNT<10;iCOUNT++)
fscanf(IN,"%f",&iIN[iCOUNT]);
iOUT=fun(iIN,10);
fprintf(OUT,"%f %f\n",iOUT,Max);
fclose(IN);
fclose(OUT);
}
题目:编写函数fun,函数的功能是:求一个给定字符串
中的字母的个数。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
int fun(char s[])
{
/**********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 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);
}
五、程序设计 共1题 (共计10分)
第1题 (10.0分) 题号:365
/*------------------------------------------------
【程序设计】
--------------------------------------------------
19题目:编写函数fun,函数的功能是:求一个
四位数的各位数字的立方和
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数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;
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(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;
----------------------
五、程序设计 共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 其它
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数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)=%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=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)
y=x*x-5*x+6;
else y=x*x-x-1;
return y;
----------------------
五、程序设计 共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 其它
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数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)=%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=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)
y=x*x-5*x+6;
else y=x*x-x-1;
return y;
----------------------
五、程序设计 共1题 (共计10分)
第1题 (10.0分) 题号:365
/*------------------------------------------------
【程序设计】
--------------------------------------------------
19题目:编写函数fun,函数的功能是:求一个
四位数的各位数字的立方和
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数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;
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(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;
----------------------
五、程序设计 共1题 (共计6分)
第1题 (6.0分) 题号:334
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:编写函数fun,函数的功能是:计算并输出
给定整数的所有因子之积(包括自身)。规
定这个整数的值不大于50。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
#include"conio.h"
long int fun(int n)
{
/**********Program**********/
/********** End **********/
}
main()
{int m;
printf("Enter 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)
{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;
----------------------
五、程序设计 共1题 (共计6分)
第1题 (6.0分) 题号:175
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:编写函数fun求1!+2!+3!+ …… +n!的和,在
main函数中由键盘输入n值,并输出运算
结果。请编写fun函数。
例如:若n值为20,则结果为268040729
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#include<stdio.h>
float fun(int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int i,n;
long int result;
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)
{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;}
return 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.168229
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#include "stdio.h"
double fun(int m)
{
/**********Program**********/
/********** 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("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);
}
答案:----------------------
double 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次方。
展开阅读全文