题1的程序设计题.docx

上传人:wj 文档编号:601031 上传时间:2023-04-29 格式:DOCX 页数:20 大小:19.94KB
下载 相关 举报
题1的程序设计题.docx_第1页
第1页 / 共20页
题1的程序设计题.docx_第2页
第2页 / 共20页
题1的程序设计题.docx_第3页
第3页 / 共20页
题1的程序设计题.docx_第4页
第4页 / 共20页
题1的程序设计题.docx_第5页
第5页 / 共20页
题1的程序设计题.docx_第6页
第6页 / 共20页
题1的程序设计题.docx_第7页
第7页 / 共20页
题1的程序设计题.docx_第8页
第8页 / 共20页
题1的程序设计题.docx_第9页
第9页 / 共20页
题1的程序设计题.docx_第10页
第10页 / 共20页
题1的程序设计题.docx_第11页
第11页 / 共20页
题1的程序设计题.docx_第12页
第12页 / 共20页
题1的程序设计题.docx_第13页
第13页 / 共20页
题1的程序设计题.docx_第14页
第14页 / 共20页
题1的程序设计题.docx_第15页
第15页 / 共20页
题1的程序设计题.docx_第16页
第16页 / 共20页
题1的程序设计题.docx_第17页
第17页 / 共20页
题1的程序设计题.docx_第18页
第18页 / 共20页
题1的程序设计题.docx_第19页
第19页 / 共20页
题1的程序设计题.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

题1的程序设计题.docx

《题1的程序设计题.docx》由会员分享,可在线阅读,更多相关《题1的程序设计题.docx(20页珍藏版)》请在冰点文库上搜索。

题1的程序设计题.docx

【程序设计】

1.功能:

编写函数fun计算下列分段函数的值:

x^2+x+6x<0且x≠-3

f(x)=x^2-5x+60≤x<10且x≠2及x≠3

x^2-x-1其它

floatfun(floatx)

{

floaty;

y=x*x-x-1;

if(x<0&&x!

=-3)

y=x*x+x+6;

if(x>=0&&x<10&&x!

=2&&x!

=3)

y=x*x-5*x+6;

returny;

}

2.功能:

从键盘上输入任意实数x,求出其所对应的函数值。

z=(x-4)的二次幂(x>4)

z=x的八次幂(x>-4)

z=z=4/(x*(x+1))(x>-10)

z=|x|+20(其他)

floaty(floatx)

{

floatz;

if(x>4)

z=x*x;

elseif(x>-4)

z=x*x*x*x*x*x*x*x;

elseif(x>-10)

z=(x*(x+1));

else

z=fabs(x)+20;

returnz;

}

3.功能:

编写函数判断一个整数能否同时被3和5整除,若能

则返回值为1,否则为0。

调用该函数求出15~300之

间能同时被3和5整除的数的个数。

intsum(intn)

{

if(n%3==0&&n%5==0)

return1;

else

return0;

}

4.功能:

从键盘上输入任意实数,求出其所对应的函数值。

z=e的x次幂(x>10)

z=log(x+3)(x>-3)

z=sin(x)/((cos(x)+4)

doubley(floatx)

{

doublez=1;

if(x>10)

z=exp(x);

elseif(x>-3)

z=log(x);

else

z=sin(x)/(cos(x)+4);

returnz;

}

5.功能:

判断整数x是否是同构数。

若是同构数,函数返回1;

否则返回0。

x的值由主函数从键盘读入,要求不大

于100。

说明:

所谓“同构数”是指这样的数,这个数出现在它的

平方数的右边。

例如:

输入整数5,5的平方数是25,5是25中右侧的数,所

以5是同构数。

intfun(intx)

{

if(x/10)

if((x*x-x)%100==0)

return1;

else

return0;

else

if((x*x-x)%10==0)

return1;

else

return0;

}

6.功能:

调用函数fun判断一个三位数是否"水仙花数"。

在main函数中从键盘输入一个三位数,并输

出判断结果。

请编写fun函数。

说明:

所谓"水仙花数"是指一3位数,其各位数字立方和

等于该数本身。

例如:

153是一个水仙花数,因为153=1+125+27。

intfun(intn)

{

inti,j,k;

i=n/100;

j=n/10%10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

return1;

else

return0;

}

7.功能:

对任意输入的x,用下式计算并输出y的值。

-1x<0

y=0x=0

1x>0

intfun(intn)

{

inty;

if(n<0)

y=-1;

elseif(n==0)

y=0;

else

y=1;

returny;

}

8.功能:

对某一正数的值保留2位小数,并对第三位进行四舍

五入。

doublefun(floath)

{

return((int)((h+0.05)*100))/100.0;

}

9.功能:

对任意输入的x,用下式计算并输出y的值。

5x<10

y=0x=10

-5x>10

intfun(intn)

{

inty;

if(n<10)

y=5;

elseif(n==10)

y=0;

else

y=-5;

returny;

}

10.请编写函数fun,其功能是:

计算并输出下列多项式的值:

111

S=1+──+───+…+─────

1*21*2*31*2*3*…50

例如,在主函数中从键盘给n输入50后,输出为:

s=1.718282。

注意:

要求n的值大于1但不大于100。

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

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

doublefun(intn)

{

doublesum=0,item=1;

inti;

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

{

item=item/i;

sum+=item;

}

returnsum;

}

11.功能:

从低位开始取出长整型变量s奇数位上的数,依次

构成一个新数放在t中。

例如:

当s中的数为:

7654321时,t中的数为:

7531。

longfun(longs,longt)

{

longi=0,j,k;

t=0;

while(s!

=0)

{

i++;

j=s%10;

s=s/10;

if(i%2)

{

for(k=1;k<=i/2;k++)

j=j*10;

t+=j;

}

}

returnt;

}

12.编写函数fun,它的功能是:

计算正整数n的所有因子(1和n除外)之和作为函数值返

回。

例如:

n=120时,函数值为239。

注意:

部分源程序存在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

intfun(intn)

{

inti,sum=0;

for(i=2;i<=n-1;i++)

if(n%i==0)

sum+=i;

returnsum;

}

13.功能:

编写函数求1~100中奇数的平方和。

结果为166650.000000。

floatsum(intn)

{

longi,sum=0;

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

sum+=i*i;

returnsum;

}

14.功能:

若x、y为奇数,求x到y之间的奇数和;若x、y为偶

数,则求x到y之间的偶数和。

intfun(intx,inty)

{

intsum=0,i;

for(i=x+2;i

sum+=i;

returnsum;

}

15.功能:

编写函数fun其功能是:

根据整型形参m,计算如下

公式的值:

y=1+1/3+1/5+1/7+…+1/(2m+1)

例如:

若m=9,则应输出:

2.133256

doublefun(intm)

{

inti;

doublesum=0,item;

for(i=1;i<=2*m+1;i+=2)

{

item=1.0/i;

sum+=item;

}

returnsum;

}

16.编写函数fun,它的功能是:

求Fibonacci数列中大于s的最小的一个数,结果由函数

返回。

其中Fibonacci数列F(n)的定义为:

F(0)=0,F

(1)=1

F(n)=F(n-1)+F(n-2)

例如:

当s=1000时,函数值为:

1597。

注意:

部分源程序存在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

intfun(ints)

{

intan=0,an1=1,an2;

an2=an+an1;

while(s>=an2)

{

an2=an+an1;

an=an1;

an1=an2;

}

returnan2;

}

17.功能:

求一个四位数的各位数字的立方和'

intfun(intn)

{

inti,j,k,L;

i=n/1000;

j=n/100%10;

k=n/10%10;

L=n%10;

returni*i*i+j*j*j+k*k*k+L*L*L;

}

18.功能:

能计算从1开始到n的自然数的和,n由键盘输入,

并在main()函数中输出。

intfun(intn)

{

intsum=0,i;

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

sum+=i;

returnsum;

}

19.功能:

用do-while语句求1~100的累计和。

longintfun(intn)

{

intsum=0,i=1;

do

{

sum+=i;

i++;

}

while(i<=n);

returnsum;

}

20.请编写函数fun,其功能是:

计算并输出下列多项式的值:

S=1+1/1!

+1/2!

+1/3!

+1/4!

+...+1/n!

例如,在主函数中从键盘给n输入15,则输出为:

s=2.718282。

注意:

要求n的值大于1但不大于100。

部分源程序在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

doublefun(intn)

{

inti;

doubleitem=1,sum=1.0;

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

{

item=item/i;

sum+=item;

}

returnsum;

}

21.功能:

用函数求fibonacci数列前n项的和。

说明:

fibonacci数列为数列的第一项值为1,第二项值也

为1,从第三项开始,每一项均为其前面相邻两项

的和。

例如:

当n=28时,运行结果:

832039

longsum(longf1,longf2)

{

longf,sum;

inti;

sum=f=f1+f2;

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

{

sum+=f;

f1=f2;

f2=f;

f=f1+f2;

}

returnsum;

}

22.功能:

编写函数fun,求任一整数m的n次方。

longfun(intm,intn)

{

longresult=1;

longi;

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

{

result*=m;

}

returnresult;

}

23.编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

s=1+x+x^2/2!

+x^3/3!

+…+x^n/n!

例如,当n=10,x=0.3时,函数值为1.349859。

注意:

部分源程序存在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

doublefun(doublex,intn)

{

/*S=1+x+x^2/2!

+x^3/3!

+...+x^n/n!

*/

doubles=1.0,a=1.0,b=1.0;

longi;

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

{

a*=x;

b*=i;

s+=a/b;

}

returns;

}

24.请编写函数fun,其功能是:

计算并输出3到n之间所有素数的平方根之和。

例如,在主函数中从键盘给n输入100后,

输出为:

sum=148.874270。

注意:

要求n的值大于2但不大于100。

部分源程序在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

doublefun(intn)

{

doublesum=0.0;

inti,j,f;

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

{

f=1;

for(j=2;j<=i-1;j++)

if(i%j==0)

f=0;

if(f)

sum+=sqrt(i);

}

returnsum;

}

25.功能:

找出一个大于给定整数且紧随这个整数的素数,并

作为函数值返回。

intfun(intn)

{

longi,j;

intf;

for(i=n+1;;i++)

{

f=1;

for(j=2;j<=i-1;j++)

if(i%j==0)

f=0;

if(f)

break;

}

returni;

}

26.功能:

求出菲波那契数列的前一项与后一项之比的极限的

近似值。

例如:

当误差为0.0001时,函数值为0.618056。

floatfun()

{

floatvalue1,value2;

intf1,f2,f;

f1=f2=1;f=f1+f2;

value2=1.0f*f1/f2;

value1=1.0f*f2/f;

while(fabs(value1-value2)>=0.0001)

{

f1=f2;

f2=f;

f=f1+f2;

value2=value1;

value1=1.0f*f2/f;

}

returnvalue1;

}

27.功能:

编写函数求表达式的和(n的值由主函数输入)。

1-1/2+1/3-1/4+......+1/m

例如:

当n=20时,表达式的值为0.668771。

doublesum(intn)

{

doublesum=0.0;

inti,f=1;

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

{

sum+=f*1.0/i;

f=-f;

}

returnsum;

}

28.请编写函数fun,其功能是:

计算并输出S=1+(1+2^0.5)+(1+2^0.5+3^0.5)+……

+(1+2^0.5+3^0.5+……+n^0.5)

例如,在主函数中从键盘给n输入20后,输出为:

s=534.188884。

注意:

要求n的值大于1但不大于100。

部分源程序在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

doublefun(intn)

{

doubles=1.0,item=1.0;

inti;

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

{

item+=sqrt(i);

s+=item;

}

returns;

}

另一种思路,s的通项为1^0.5*n+2^0.5*(n-1)+……+n*0.5*1

doublefun(intn)

{

doubles=0.0;

inti;

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

{

s+=sqrt(i)*(n+1-i);

}

returns;

}

29.请编写函数fun,其功能是:

计算并输出当x<0.97时下列多项式的值,直到

|S(n)-S(n-1)|<0.000001为止。

Sn=1+0.5x+0.5(0.5-1)/2!

x

(2)+…+0.5(0.5-1)(0.5-2)……(0.5-n+1)/n!

x(n)

例如,在主函数中从键盘给x输入0.21后,输出为:

s=1.100000。

注意:

部分源程序在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

doublefun(doublex)

{

doubles1=1.0,p=1.0,sum=0.0,s0,t=1.0;

intn=1;

do

{

s0=s1;

sum+=s0;

t*=n;

p*=(0.5-n+1)*x;

s1=p/t;

n++;

}while(fabs(s1-s0)>1e-6);

returnsum;

}

30.请编写函数fun,其功能是:

计算并输出下列多项式的值:

11111

S=(1-─)+(─-─)+…+(──-──)

2342n-12n

例如,在主函数中从键盘给n输入8后,输出为:

s=0.662872。

注意:

要求n的值大于1但不大于100。

部分源程序在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

doublefun(intn)

{

inti;

doublesum=0.0;

if(n>1&&n<=100)

{

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

sum+=1.0/(2*i-1)-1.0/(2*i);

}

returnsum;

}

31.功能:

计算并输出给定整数的所有因子之积(包括自身)。

规定这个整数的值不大于50。

longintfun(intn)

{

longresult=1;

inti;

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

{

if(n%i==0)

result*=i;

}

returnresult;

}

32.请编写一个函数fun,它的功能是:

根据以下公式求π的值(要求满足精度0.0005,即

某项小于0.0005时停止迭代):

π1121231234

—=1+—+—x—+—x—x—+—x—x—x—+...

23353573579

程序运行后,如果输入精度0.0005,则程序输出为3.140578。

注意:

部分源程序存在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

doublefun(doubleeps)

{

doublepi=0.0;

intu=1,d=1;

doublet=1.0;

while(t>eps)

{

pi+=t;

d+=2;

t*=1.0*u/d;

u+=1;

}

pi*=2.0;

returnpi;

}

33.功能:

编写函数fun求1!

+2!

+3!

+……+n!

的和,在main函

数中由键盘输入n值,并输出运算结果。

请编写fun

函数。

例如:

若n值为5,则结果为153。

longintfun(intn)

{

longsum=0,item=1;

inti;

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

{

item*=i;

sum+=item;

}

returnsum;

}

34.编写函数fun,它的功能是:

求n以内(不包括n)同时能被3与7整除的所有自然数之

和的平方根s,并作为函数值返回。

例如若n为1000时,函数值应为:

s=153.909064。

注意:

部分源程序存在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

doublefun(intn)

{

doublesum=0.0;

inti;

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

{

if(i%3==0&&i%7==0)

sum+=i;

}

sum=sqrt(sum);

returnsum;

}

35.编写函数fun,函数的功能是:

根据以下公式计算s,计算结果作为函数值返回;n通过

形参传入。

S=1+(1/(1+2))+(1/(1+2+3))+....+(1/(1+2+..+n))

例如:

若n的值为11时,则函数值为:

1.833333

注意:

部分源程序存在文件prog.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

floatfun(intn)

{

floats=0.0,item=0.0;

inti;

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

{

item+=i;

s+=1.0/item;

}

returns;

}

36.功能:

根据整型参数n,计算如图公式的值。

A1=1,A2=1/(1+A1),A3=1/(1+A2)……,An=1/(1+A(n-1))

例如,若n=10,则应输出:

0.618056

doublefun(intn)

{

doublea=1.0;

inti;

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

a=1.0/(1+a);

returna;

}

37.功能:

根据整型形参m,计算如下公式的值:

y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)

例如:

若m=9,则应输出:

1.168229

doublefun(intm)

{

doubley=0.2;

inti;

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

y+=1.0/(i+5);

returny;

}

38.请编写一个函数fun,它的功能是:

计算并输出给定整数n的所有因子(不包括1与n

自身)之和。

规定n的值不大于1000。

例如,在主函数中从键盘给n输入的值为856,则输出为:

sum=763。

注意:

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

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写

的若干语句。

intfun(intn)

{

intresult=0;

inti;

for(i=2;i

{

if(n%i==0)

result+=i;

}

returnresult;

}

39.功能:

求1到100之间的偶数之积。

doublefun(intm)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2