二级函数例题.docx
- 文档编号:4296877
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:10
- 大小:16.35KB
二级函数例题.docx
《二级函数例题.docx》由会员分享,可在线阅读,更多相关《二级函数例题.docx(10页珍藏版)》请在冰豆网上搜索。
二级函数例题
✷下面的程序是求500以内的所有的素数之和。
请修改程序中的错误,使它能得出正确的结果,并给出正确结果(21536)。
#include
#include
#include
intprime(intn)
{intyes,i;
if(n<=1)
{return1;}
yes=1;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
{yes=0;break;}
return1;
}
main()
{intsum=0,i;
clrscr();
for(i=2;i<=500;i++)
if(prime(i))sum+=i;
printf("%d\n",sum);}
✷下面的程序中,函数fun的功能是:
根据形参m,计算下面公式的值。
T=1+1/(2*3)+1/(3*4)+……+1/(m*(m+1))在请改正程序中的错误,并运行改正后的程序。
当从键盘输入70时,给出程序运行的正确结果(按四舍五入保留6位小数)(1.485915)。
程序:
#include
#include
doublefun(intm)
{doublet=1.0;
inti=2;
for(i=2;i<=m;i++)
t+=1.0/i*(i+1);
return;
}
main()
{intm;
clrscr();
printf("\n请输入一个整数:
");
scanf("%d",&m);
printf("\n结果是:
%lf\n",fun(m));
}
下面的程序中,函数fun的功能是:
根据形参m,计算下面公式的值。
T=1/1!
+1/2!
+1/3!
+……+1/m!
请改正程序中的错误,并运行改正后的程序。
当从键盘输入10时,给出程序运行的正确结果(按四舍五入保留10位小数)(1.7182818011)。
#include
#include
doublefun(intm)
{doublefac,t=0.0;
inti=1,j;
for(i=1;i<=m;i++)
{fac=1.0;
for(j=1;j<=m;j++)fac=fac*i;
t+=1.0/fac;
}
returnt;
}
main()
{intm;
clrscr();
printf("\n请输入整数:
");
scanf("%d",&m);
printf("\n结果是:
%12.10lf\n",fun(m));}
下面程序中,函数fun的功能是:
计算并输出k以内的最大的10个能被13或17整除的自然数之和。
请改正程序中的错误,并运行正确的程序。
当从键盘输入500时,给出程序运行的正确结果(4622)。
#include
#include
intfun(intk)
{intm=0,mc=0,j;
while((k>=2)||mc<10)
{if((k%13==0)&&(k%17==0))
{m=m+k;mc++;}
k--;
}
returnm;
}
main()
{intk;
clrscr();
printf("\n请输入整数:
");
scanf("%d",&k);
printf("\n结果是:
%d\n",fun(k));
}
下列程序的功能是求出以下分数序列的前25之和,2/1,3/2,5/3,8/5,13/8,21/13,......请改正程序中的错误,并运行修改后的程序,给出程序结果(按四舍五入保留6位小数)。
程序:
#include
#include
fun(n)
{longa,b,c;
intk;doubles;
s=0.0;a=2;b=1;
for(k=1;k<=n;k++)
{s=s+(double)a/b;
c=a;a=a+b;b=c;
}
returns;
}
main()
{intn=25;
clrscr();
printf("\nresult:
%lf\n",fun(n));
}
下面的程序是求1000以内的最大的20个素数之和。
请修改程序中的错误,使它能得出正确的结果,并给出正确结果。
程序
#include
#include
#include
intfun(inthigh)
{intsum=0,n=0,j,yes;
while((high>=2)||(n<10))
{yes=1;
for(j=2;j<=sqrt(high);j++)
if(high%j==0)
yes=0;break;
if(yes){sum+=high;n++;}
high--;
}
returnsum;
}
main()
{clrscr();
printf("%d\n",fun(1000));
}
下面的程序是求如下表达式的值。
S=sqrt(ln
(1)+ln
(2)+ln(3)+……+ln(n))请改正程序中的错误,并运行修改后的程序,当n=60时,给出程序运行结果(按四舍五入保留6位小数)
程序
#include
#include
#include
doublefun(intn)
{doubles=0.0;inti;
for(i=1;i s+=log(1.0*i); s=sqrt(s); returns; } main() {clrscr(); printf("%ld\n",fun(60)); } 下面的程序是求下式的和: s=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+……+n)请改正程序中的错误,并运行修改后的程序,当n=90时,给出程序运行结果(按四舍五入保留6位小数)。 程序: #include #include intfun(intn) {inti; floats=0.0,t=1.0; for(i=2;i<=n;i++) {t=t+i; s=s+1/t; } returns; } main() {printf("\n%f",fun(90))} 下面的程序是求表达式的值: s=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+......+(1*2*3*......*n)/(3*5*7*......(2*n+1))请修改程序中的错误,并运行修改后的程序。 当n=25时,给出程序的运行结果(按四舍五入保留10位小数)。 程序: #include #include #include doublefun(intn) {doubles,t;inti; s=0.0;t=1.0; for(i=1;i<=n;i++) t=t*i/(2*i+1); s+=t; returns; } main() {printf("\n%12.10lf",fun(25))} 下面的程序是计算如下公式的A20值。 A1=1,A2=1/(1+A1),A3=1/(1+A2),A4=1/(1+A3),......请改正程序中的错误,并给出程序运行的正确结果(按四舍五入保留10位小数)。 程序: #include #include intfun(intn) {doubleA=1.0;inti; for(i=2;i A=1.0/(1+A); returnA; } main() {clrscr(); printf("%12.10lf\n",fun(20)); } 编程求出3到100之间的所有非偶数非素数的整数累加和(1441)。 程序: #include"stdio.h" intfun(inta,intb) { inti,count=0,j; for(i=a;i<=b;i+=2) for(j=2;j if(_____________) {count+=i; _____________; } returncount; } voidmain() { printf("%d\n",fun(3,100)); } 编程求出100到200之间的所有非偶数非素数的整数累加和(4333)。 #include"stdio.h" intfun(inta,intb) { inti,count=0,j; for(i=a;i<=b;i+=2) for(j=2;j if(_____________) {count+=i; break; } _____________; } voidmain() { printf("%d\n",fun(101,200)); } 编写程序计算在10至99的范围内有多少个整数,其每位数的乘积大于每位数的和(63)。 #include"stdio.h" intfun(inta,intb) { inti,count=0,low,high; for(i=a;i<=b;i++) { low=i%10; _____________; if(_____________) count++; } returncount; } voidmain() { printf("%d\n",fun(10,99)); } 编写程序计算在10至99的范围内有多少个整数,其每位数的乘积小于等于每位数的和(27)。 #include"stdio.h" intfun(inta,intb) { inti,count=0,low,high; for(i=a;i<=b;i++) { _____________; high=i/10; if(_____________) count++; } returncount; } voidmain() { printf("%d\n",fun(10,99)); } 所谓回文数是从左至右与从右至左读起来都是一样的数字,如: 121。 编一个程序,求出在100—900的范围内回文数的个数(80)。 #include"stdio.h" intfun(inta,intb) { inti,count=0,low,high; for(i=a;i<=b;i++) { low=i%10; high=i/100; if(_____________) count++; } returncount; } voidmain() { printf("%d\n",_____________); } 用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为50枚,问共有多少种换法? (注: 在兑换中一分、两分或五分的硬币数可以为0枚)13 #include"stdio.h" main() {intone,two,five,cout=0; for(five=0;five<=20;five++) for(_____________) for(one=0;one<=100;one++) if(_____________) cout++; printf("%d\n",cout); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 函数 例题