1、省级2级函数例题 下面的程序是求500以内的所有的素数之和。请修改程序中的错误,使它能得出正确的结果,并给出正确结果(21536)。#include #include #include int prime(int n) int yes, i; if(n=1) return 1; yes=1; for(i=2; i=sqrt(n); i+)if(n%i=0) yes=0; break; return 1;main() int sum=0, i; clrscr(); for(i=2;i=500; i+) if(prime(i) sum+=i; printf(%dn, sum); 下面的程序中,函数
2、fun的功能是:根据形参m,计算下面公式的值。 T=1+1/(2*3)+1/(3*4)+1/(m*(m+1) 在请改正程序中的错误,并运行改正后的程序。当从键盘输入70时,给出程序运行的正确结果(按四舍五入保留6位小数)(1.485915)。程序:#include #include double fun(int m) double t=1.0;int i=2;for(i=2; i=m; i+) t+=1.0/i*(i+1);return ;main() int m;clrscr();printf(n 请输入一个整数: );scanf(%d,&m);printf(n 结果是: %lf n, fu
3、n(m); 下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。T=1/1!+1/2!+1/3!+1/m!请改正程序中的错误,并运行改正后的程序。当从键盘输入10时,给出程序运行的正确结果(按四舍五入保留10位小数)(1.7182818011)。#include #include double fun(int m) double fac, t=0.0;int i=1, j;for(i=1;i=m;i+) fac=1.0; for(j=1; j=m; j+) fac=fac*i ; t+=1.0/fac; return t;main() int m;clrscr();printf(n
4、 请输入整数: );scanf(%d, &m);printf(n 结果是: %12.10lf n,fun(m);下面程序中,函数fun的功能是:计算并输出k以内的最大的10个能被13或17整除的自然数之和。请改正程序中的错误,并运行正确的程序。当从键盘输入500时,给出程序运行的正确结果(4622)。#include #include int fun(int k) int m=0, mc=0, j;while(k=2) | mc10) if (k%13=0) & (k%17=0) m=m+k; mc+; k-; return m;main() int k; clrscr(); printf(n
5、 请输入整数:); scanf(%d, &k); printf(n 结果是: %dn,fun(k);下列程序的功能是求出以下分数序列的前25之和,2/1,3/2,5/3,8/5,13/8,21/13,.请改正程序中的错误,并运行修改后的程序,给出程序结果(按四舍五入保留6位小数)。程序:#include #include fun(n) long a,b,c; int k; double s; 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; return s;main() int n=25; clrscr(
6、); printf(n result: %lfn,fun(n);下面的程序是求1000以内的最大的20个素数之和。请修改程序中的错误,使它能得出正确的结果,并给出正确结果。程序#include #include #include int fun(int high) int sum=0, n=0, j, yes; while(high=2) |(n10) yes=1 ; for(j=2; j=sqrt(high); j+) if(high%j=0) yes=0; break; if(yes) sum+=high;n+; high-; return sum; main() clrscr(); pr
7、intf(%d n,fun(1000); 下面的程序是求如下表达式的值。S=sqrt(ln(1)+ln(2)+ln(3)+ln(n) 请改正程序中的错误,并运行修改后的程序, 当n=60时,给出程序运行结果(按四舍五入保留6位小数) 程序#include #include #include double fun(int n) double s=0.0; int i; for(i=1;in;i+) s+=log(1.0*i); s=sqrt(s); return s;main()clrscr(); printf(%ldn,fun(60);下面的程序是求下式的和:s=1+1/(1+2)+1/(1+
8、2+3)+ +1/(1+2+3+n)请改正程序中的错误,并运行修改后的程序, 当n=90时,给出程序运行结果(按四舍五入保留6位小数)。程序:#include #include int fun(int n) int i; float s=0.0, t=1.0; for(i=2; i=n;i+) t=t+i; s=s+1/t; return s;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
9、=25时,给出程序的运行结果(按四舍五入保留10位小数)。程序:#include #include #include double fun(int n) double s, t; int i; s=0.0; t=1.0; for(i=1;i=n; i+) t=t*i/(2*i+1); s+=t; return s;main()printf(n %12.10lf, fun(25)下面的程序是计算如下公式的A20值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), .请改正程序中的错误,并给出程序运行的正确结果(按四舍五入保留10位小数)。程序:#incl
10、ude #include int fun(int n) double A=1.0;int i; for(i=2; in; i+) A=1.0/(1+A); return A;main() clrscr(); printf(%12.10lfn, fun(20);编程求出3到100之间的所有非偶数非素数的整数累加和(1441)。程序:#include stdio.hint fun(int a,int b) int i,count=0,j; for(i=a;i=b;i+=2) for(j=2;ji;j+) if( _ ) count+=i; _; return count;void main() p
11、rintf(%dn,fun(3,100);编程求出100到200之间的所有非偶数非素数的整数累加和(4333)。#include stdio.hint fun(int a,int b) int i,count=0,j; for(i=a;i=b;i+=2) for(j=2;ji;j+) if( _ ) count+=i; break; _;void main() printf(%dn,fun(101,200);编写程序计算在10至99的范围内有多少个整数,其每位数的乘积大于每位数的和(63)。#include stdio.hint fun(int a,int b) int i,count=0,l
12、ow,high; for ( i=a;i=b;i+) low=i%10; _; if( _ ) count+; return count;void main() printf(%dn,fun(10,99) );编写程序计算在10至99的范围内有多少个整数,其每位数的乘积小于等于每位数的和(27)。#include stdio.hint fun(int a,int b) int i,count=0,low,high; for ( i=a;i=b;i+) _; high=i/10; if( _ ) count+; return count;void main() printf(%dn,fun(10
13、,99) );所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121。编一个程序,求出在100900的范围内回文数的个数(80)。#include stdio.hint fun(int a,int b) int i,count=0,low,high; for ( i=a;i=b;i+ ) low=i%10; high=i/100; if( _ ) count+; return count;void main() printf(%dn,_ );用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为50枚,问共有多少种换法?(注:在兑换中一分、两分或五分的硬币数可以为0枚) 13#include stdio.hmain()int one,two,five,cout=0; for(five=0;five=20;five+) for(_) for(one=0;one=100;one+) if(_) cout+; printf(%dn,cout);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1