改错(C语言) 联系客服

发布时间 : 星期三 文章改错(C语言)更新完毕开始阅读6509a604a6c30c2259019e1c

s=1; k=n/2+1;

for (m=1;m

s+=/*REF:4:REF*/ 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。例如,28是多因子完备数。因为:1+2+4+7+14+28=56=28*2 ,下面程序求[1,500]间最大的多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 #include #include #include main() {

int a,b,c,n,big,count=0; for (a=1; a<=500; a++) { b=0;

for (c=1;c<=a;c++) if (a%c ==0) b=b+c; if (b%a==0) { big=b; } }

pr/*REF:496:REF*/

已知fibonacci数列:1,1,2,3,5,8,......,它可由下面公式表述:

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

以下程序是求F(50),请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。 #include #include main() {

double f1,f2; int i; f1=1;f2=1;

for (i=1;i<=24;i++) { f1=f1+f2; f2=f2+f1; } clrscr();

printf(\}

/*REF:12586269025:REF*/

下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。

T=1+1/(2*3)+1/(3*4)+......+1/(m*(m+1)) 请改正程序中的错误,并运行改正后的程序。当从键盘输入50时,给出程序运行的正确结果(按四舍五入保留6位小数)。 #include #include double fun(int m) { double t=1.0; int i=2;

for(i=2;i<=m;i++) t+=1/(i*(i+1)); return t; } main() { int m; clrscr();

printf(\请输入一个整数: \scanf(\

printf(\结果是: %lf \\n\}

/*REF:1.480392:REF*/

下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。

T=1+1/(2*3)+1/(3*4)+......+1/(m*(m+1)) 请改正程序中的错误,并运行改正后的程序。当从键盘输入70时,给出程序运行的正确结果(按四舍五入保留6位小数)。 #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(\请输入一个整数: \scanf(\

printf(\结果是: %lf \\n\}

/*REF:1.485915:REF*/

下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。

T=1/1!+1/2!+1/3!+......+1/m!

请改正程序中的错误,并运行改正后的程序。当从键盘输入10时,给出程序运行的正确结果(按四舍五入保留10位小数)。 #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(\请输入整数: \scanf(\

printf(\

下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。

T=1+1/(1*2)+1/(2*3)+......+1/(m-1)*m

请改正程序中的错误,并运行改正后的程序。当从键盘输入70时,给出程序运行的正确结果(按四舍五入保留6位小数)。 #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(\输入整数: \scanf(\

printf(\结果是: %lf \\n\}

/*REF:1.985714:REF*/

下列程序中,函数fun的功能是:计算并输出k以内的最大的10个能被13或17整除的自然数之和。请改正程序中的错误,并运行正确的程序。当从键盘输入500时,给出程序运行的正确结果 #include #include int fun(int k) { int m=0, mc=0, j; while((k>=2) || mc<10)

{ if ((k==0) && (k==0)) { m=m+k; mc++; } k--; } return m; } main() { int k; clrscr();

printf(\请输入整数:\ scanf(\

printf(\结/*REF:4622:REF*/

下例程序中,函数fun的功能是:计算并输出k以内的最大的10个能被13和17整除的自然数之和。请改正程序中的错误,并运行正确的程序。当从键盘输入2500时,给出程序运行的正确结果 #include #include int fun(int k) { int m=0, mc=0, j; while((k>=2) && mc<10)

{ if ((k==0) || (k==0)) { m=m+k; mc++; } k--; } return ; } main() { int k; clrscr();

printf(\请输入整数:\ scanf(\

printf(\结果/*REF:14365:REF*/

下面的程序是求1000以内的最大的20个素数之和。请修改程序中的错误,使它能得出正确的结果,并给出正确结果。 #include #include #include int fun(int high) { int sum=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--/*REF:18580:REF*/

已知24有8个因子,而24正好被8整除。下面程序求[1,100]之间所有能被其因子的个数整除的整数中最大的数。请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。

#include #include #include main() {

int a,b,c,n,big; for (a=1; a<=100; a++) { b=0;

for (c=2;c<=a;c++) if (a%c ==0) b++;

if (a%b==0) {

big=b; } }

printf(\

下列程序的功能是求出以下分数序列的前28项之和,

2/1,3/2,5/3,8/5,13/8,21/13,......

请改正程序中的错误,并运行修改后程序,给出程序结果(按四舍五入保留6位小数)。

#include #include fun(int 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=28; clrscr();

printf(\}

/*REF:45.604533:REF*/

下面的程序是计算如下公式的A30值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......

请改正程序中的错误, 并给出程序运行的正确结果(按四舍五入保留10位小数)。 #include #include double fun(int n) { int A=1;int i; for(i=2; i<=n; i++) A=1/(1+A); return ; } main()

{ clrscr();

printf(\ }

/*REF:0.6180339887:REF*/

下面的程序是计算如下公式的A25值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......

请改正程序中的错误,并给出程序运行的正确结果(按四舍五入保留10位小数)。 #include #include double fun(int n) { double A=1.0;int i; for(i=2; i<=n; i++) A+=1.0/(1+A); return A; } main() { clrscr();

printf(\ }

/*REF:0.6180339888:REF*/

下面的程序是计算如下公式的A15值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......

请改正程序中的错误,并给出程序运行的正确结果(按四舍五入保留10位小数) #include #include double fun(int n) { int A=1.0;int i; for(i=2; i<=n; i++) A+=1.0/(1+A); return A; } main() { clrscr();

printf(\ }

/*REF:0.6180344478:REF*/

下面的程序是求[2,600]之间所有的素数之和。请修改程序中的错误,使它能得出正确的结果,并给出正确结果。 #include

#include #include int prime(int n) { int yes, i;

if(n<=1) {return 0;} yes=0;

for(i=2; i<=sqrt(n); i++) if(n%i==0){ yes=0; break;} return yes; } main() { int sum=0, i; clrscr();

for(i=2;i<=600; i++) /*REF:29296:REF*/

下面的程序是求[2,400]之间所有的素数之和。请修改程序中的错误,使它能得出正确的结果,并给出正确结果。 #include #include #include int prime(int n) { int yes, i;

if(n<=1) {return 0;} yes=0;

for(i=2; i<=sqrt(n); i++) if(n%i==0){ yes=1; break;} return yes; } main() { int sum=0, i; clrscr();

for(i=2;i<=400; i++) /*REF:13887:REF*/

下面的程序是求[2,500]之间的所有的素数之和。请修改程序中的错误,使它能得出正确的结果,并给出正确结果。 #include #include #include int prime(int n) { int yes, i;

if(n<=1) {return 1;} yes=1;