程序设计导出2.docx
《程序设计导出2.docx》由会员分享,可在线阅读,更多相关《程序设计导出2.docx(40页珍藏版)》请在冰点文库上搜索。
程序设计导出2
导出题库试题(101~116)
共计116道试题
399)./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数fun求s=1^k+2^k+3^k+......+N^k的值,
(1的K次方到N的K次方的累加和)。
------------------------------------------------*/
#defineK4
#defineN5
#include"stdio.h"
longfun(intn,intk)
{
/**********Program**********/
/**********End**********/
}
main()
{
longintsum;
printf("Sumof%dpowersofintegersfrom1to%d=",K,N);
sum=fun(N,K);
printf("%ld\n",sum);
getch();
yzj();
}
yzj()
{
FILE*IN,*OUT;
intn;
inti[2];
longo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(n=0;n<2;n++)
{
fscanf(IN,"%d",&i[n]);
}
o=fun(i[0],i[1]);
fprintf(OUT,"%ld\n",o);
fclose(IN);
fclose(OUT);
}
答案:
----------------------
longpower,sum=0;
inti,j;
for(i=1;i<=n;i++)
{power=i;
for(j=1;jpower*=i;
sum+=power;
}
returnsum;
----------------------
400)./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写程序求无理数e的值并输出。
计算公式为:
e=1+1/1!
+1/2!
+1/3!
+......+1/n!
当1/n!
<0.000001时e=2.718282。
------------------------------------------------*/
#include"stdio.h"
main()
{
floatfun();
printf("无理数e的值是:
%f\n",fun());
getch();
yzj();
}
floatfun()
{
/**********Program**********/
/**********End**********/
}
yzj()
{
FILE*IN,*OUT;
intn;
inti[5];
floato;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
o=fun();
fprintf(OUT,"%f\n",o);
fclose(IN);
fclose(OUT);
}
答案:
----------------------
longintj;
inti,k;
floate,jc;
i=1;
e=0.0;
jc=1.0;
while(jc>=0.000001)
{
e=e+jc;
j=1;
for(k=1;k<=i;k++)
j=j*k;
jc=1.0/j;
i++;
}
returne;
----------------------
401)./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写main程序调用函数fact求解从m个元素选n个元
素的组合数的个数。
计算公式是:
组合数=m!
/(n!
.(m-n)!
)。
要求:
m不能小于n,否则
应有容错处理。
说明:
函数fact(x)的功能是求x!
。
------------------------------------------------*/
#include"stdio.h"
longfact(intx)
{
longy;
inti;
y=1;
for(i=1;i<=x;i++)
y=y*i;
returny;
}
main()
{
intm,n;
longzhsgs;
printf("请输入m和n:
\n");scanf("%d%d",&m,&n);
/**********Program**********/
/**********End**********/
printf("从%d个元素选%d个元素的组合数的个数是:
%d\n",m,n,zhsgs);
getch();
yzj();
}
yzj()
{
FILE*IN,*OUT;
intn;
inti;
longo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(n=0;n<5;n++)
{
fscanf(IN,"%d",&i);
o=fact(i);
fprintf(OUT,"%ld\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
while(m{
printf("m和n输入错!
请重新输入:
\n");
scanf("%d%d",&m,&n);
}
zhsgs=fact(m)/(fact(n)*fact(m-n));
----------------------
402)./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
若x、y为奇数,求x到y之间的奇数和;若x、y为偶
数,则求x到y之间的偶数和。
------------------------------------------------*/
#include"stdio.h"
main()
{
ints,i,j;
s=fun(1,1999)-fun(2,1998);
printf("s=%d\n",s);
getch();
yzj();
}
intfun(intx,inty)
{
/**********Program**********/
/**********End**********/
}
yzj()
{
FILE*IN,*OUT;
intn;
inti[2];
into;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(n=0;n<2;n++)
{
fscanf(IN,"%d",&i[n]);
}
o=fun(i[0],i[1]);
fprintf(OUT,"%d\n",o);
fclose(IN);
fclose(OUT);
}
答案:
----------------------
inti,s=0;
for(i=x;i<=y;i+=2)
s=s+i;
returns;
----------------------
404)./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数fun,求任一整数m的n次方。
------------------------------------------------*/
#include"stdio.h"
main()
{
intm,n;
longs;
longfun(int,int);
printf("输入m和n的值:
");
scanf("%d,%d",&m,&n);
s=fun(m,n);
printf("s=%ld\n",s);
getch();
yzj();
}
longfun(intm,intn)
{
/**********Program**********/
/**********End**********/
}
yzj()
{
FILE*IN,*OUT;
intn;
inti[2];
longo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(n=0;n<2;n++)
{
fscanf(IN,"%d",&i[n]);
}
o=fun(i[0],i[1]);
fprintf(OUT,"%ld\n",o);
fclose(IN);
fclose(OUT);
}
答案:
----------------------
longintx=1;
inti;
for(i=1;i<=n;i++)
x=x*m;
returnx;
----------------------
406)./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数fun计算下列分段函数的值:
x^2+x+6x<0且x≠-3
f(x)=x^2-5x+60≤x<10且x≠2及x≠3
x^2-x-1其它
------------------------------------------------*/
#include"stdio.h"
floatfun(floatx)
{
/**********Program**********/
/**********End**********/
}
main()
{
floatx,f;
printf("Inputx=");
scanf("%f",&x);
f=fun(x);
printf("x=%f,f(x)=%f\n",x,f);
getch();
yzj();
}
yzj()
{
FILE*IN,*OUT;
intn;
floati;
floato;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(n=0;n<10;n++)
{
fscanf(IN,"%f",&i);
o=fun(i);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
floaty;
if(x<0&&x!
=-3.0)
y=x*x+x+6;
elseif(x>=0&&x<10.0&&x!
=2.0&&x!
=3.0)
y=x*x-5*x+6;
elsey=x*x-x-1;
returny;
----------------------
408)./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数fun求sum=d+dd+ddd+……+dd...d(n个d),
其中d为1-9的数字。
例如:
3+33+333+3333+33333(此时d=3,n=5),d和n在主函
数中输入。
------------------------------------------------*/
#include"stdio.h"
main()
{
intd,n;
longsum,fun();
printf("d=");
scanf("%d",&d);
printf("n=");
scanf("%d",&n);
sum=fun(d,n);
printf("sum=%ld\n",sum);
getch();
yzj();
}
longintfun(intd,intn)
{
/**********Program**********/
/**********End**********/
}
yzj()
{
FILE*IN,*OUT;
intn;
inti[2];
longo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(n=0;n<2;n++)
{
fscanf(IN,"%d",&i[n]);
}
o=fun(i[0],i[1]);
fprintf(OUT,"%ld\n",o);
fclose(IN);
fclose(OUT);
}
答案:
----------------------
longints=0,t=0;
inti;
for(i=1;i<=n;i++)
{t=t+d;
s=s+t;
d=d*10;
}
returns;
----------------------
410).#include
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:
输入华氏温度求摄氏温度。
转换公式为c=5/9(f-32),
输出结果取两位小数。
-------------------------------------------------------*/
floatfun(floatm)
{
/**********Program**********/
/**********End**********/
}
voidmain()
{
floatc,f;
printf("请输入一个华氏温度:
");
scanf("%f",&f);
c=fun(f);
printf("摄氏温度为:
%5.2f\n",c);
wwjt();
}
wwjt()
{
FILE*IN,*OUT;
inti;
floatiIN,iOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%f",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%f\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:
floatn;
n=(5.0/9.0)*(m-32);
returnn;
411)./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数fun将一个数组中的值按逆序存放,并在
main()函数中输出。
例如:
原来存顺序为8,6,5,4,1。
要求改为:
1,4,5,6,8。
------------------------------------------------*/
#include"stdio.h"
#defineN5
main()
{
inta[N]={8,6,5,4,1},i;
for(i=0;iprintf("%4d",a[i]);
printf("\n");
fun(a,N);
for(i=0;iprintf("%4d",a[i]);
yzj();
getch();
}
intfun(intarr[],intn)
{
/**********Program**********/
/**********End**********/
}
yzj()
{
FILE*IN,*OUT;
intn;
inti[10];
into;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(n=0;n<10;n++)
{
fscanf(IN,"%d",&i[n]);
}
fun(i,10);
for(n=0;n<10;n++)
{
fprintf(OUT,"%d\n",i[n]);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
inti,t;
for(i=0;i{t=arr[i];
arr[i]=arr[n-1-i];
arr[n-1-i]=t;
}
----------------------
452)./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
对任意输入的x,用下式计算并输出y的值。
-1x<0
y=0x=0
1x>0
------------------------------------------------*/
#include
intfun(intn)
{
/**********Program**********/
/**********End**********/
}
voidmain()
{
intx,y;
printf("enterx:
");
scanf("%d",&x);
y=fun(x);
printf("x=%d,y=%d\n",x,y);
wwjt();
}
wwjt()
{
FILE*IN,*OUT;
inti;
intiIN;
longintiOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
}
for(i=0;i<5;i++)
{
fscanf(IN