改错C语言改.docx
《改错C语言改.docx》由会员分享,可在线阅读,更多相关《改错C语言改.docx(209页珍藏版)》请在冰点文库上搜索。
改错C语言改
已知fibonacci数列:
1,1,2,3,5,8,......,它可由下面公式表述:
F
(1)=1ifn=1
F
(2)=1ifn=2
F(n)=F(n-1)+F(n-2)ifn>2
以下程序是求F(35),请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
main()
{
doublef1,f2;
inti;
f1=1;f2=1;
for(i=1;i<=35;i++)
{
f1=f1+f2;
f2=f2+f1;
}
clrscr();
printf("\nthenumberis:
%12.0lf",f1);
}
/*REF:
9227465:
REF*/
若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。
例如,28是多因子完备数。
因为:
1+2+4+7+14+28=56=28*2,下面程序求[10,600]间最大的多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,big,count=0;
for(a=10;a<=600;a++)
{
b=0;
for(c=1;c<=a;c++)
if(a%c==0)
b++;
if(b%a==0)
{
big=a;
}
}
printf("big=%d",big);
/*REF:
496:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[100,300]之间有多少个整数能被其因子的个数整除,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,count=0;
b=0
for(a=100;a<=300;a++)
{
for(c=2;c<=a;c++)
if(a%c==0)
b+=1;
if(a%b==0)
{
count++;
}
}
pri/*REF:
19:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[50,250]之间有多少个整数能被其因子的个数整除,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,count=0;
for(a=50;a<=250;a++)
{
b=0;
for(c=1;c<=a;c++)
if(a%c==0)
b+=1;
if(a%b==0)
{
count=count+a;
}
/*REF:
22:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[10,200]之间有多少个整数能被其因子的个数整除,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,count=0;
for(a=10;a<=200;a++)
{
b=0;
for(c=1;c<=a;c++)
if(a%c==0)
b+=c;
if(a%b==0)
{
count++;
}
}
/*REF:
21:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[1,200]之间有多少个整数能被其因子的个数整除,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,count=0;
for(a=1;a<=200;a++)
{
b=1;
for(c=2;c<=a;c++)
if(a%c==0)
b++;
if(a%b==0)
{
count++;
}
}
pr/*REF:
25:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[1,100]之间有多少个整数能被其因子的个数整除,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,count=0;
for(a=1;a<=100;a++)
{
b=0
for(c=1;c<=a;c++)
if(a%c==0)
b=b+1;
if(a%b==0)
{
count=count+b;
}
/*REF:
16:
REF*/
若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。
例如,28是多因子完备数。
因为:
1+2+4+7+14+28=56=28*2,下面程序求[1,500]间最大的多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,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*/
若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。
例如,28是多因子完备数。
因为:
1+2+4+7+14+28=56=28*2,下面程序求[1,700]间最大的多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,big,count=0;
for(a=1;a<=700;a++)
{
b=0;
for(c=2;c<=a;c++)
if(a%c==0)
b=b+c;
if(b%a==0)
{
big=b;
}
}
pr/*REF:
672:
REF*/
若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。
例如,28是多因子完备数。
因为:
1+2+4+7+14+28=56=28*2,下面程序求[150,1000]间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,count=0;
b=0;
for(a=150;a<=1000;a++)
{
for(c=2;c<=a;c++)
if(a%c==0)
b=b+c;
if(b%a==0)
{
count=count+1;
}
/*REF:
2:
REF*/
若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。
例如,28是多因子完备数。
因为:
1+2+4+7+14+28=56=28*2,下面程序求[100,1000]间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,count=0;
for(a=100;a<=1000;a++)
{
b=0;
for(c=2;c<=a;c++)
if(a%c==0)
b=b+c;
if(b%a==0)
{
count=count+a;
}
/*REF:
3:
REF*/
若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。
例如,28是多因子完备数。
因为:
1+2+4+7+14+28=56=28*2,下面程序求[10,800]间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,count=0;
for(a=10;a<=800;a++)
{
b=0;
for(c=2;c<=a;c++)
if(a%c==0)
b=b+c;
if(b%a==0)
{
count=count+b;
}
}/*REF:
4:
REF*/
若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。
例如,28是多因子完备数。
因为:
1+2+4+7+14+28=56=28*2,下面程序[1,700]间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,count=0;
for(a=1;a<=700;a++)
{
b=0;
for(c=1;c<=a;c++)
if(a%c==0)
b=b+1;
if(b%a==0)
{
count++;
}
}
pr/*REF:
6:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[100,300]之间所有能被其因子的个数整除的整数之和,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,sum=0;
for(a=100;a<=300;a++)
{
b=1;
for(c=2;c<=a;c++)
if(a%c==0)
b+=1;
if(a%b==0)
{
sum=sum+a;
}
}/*REF:
3769:
REF*/
已知fibonacci数列:
1,1,2,3,5,8,......,它可由下面公式表述:
F
(1)=1ifn=1
F
(2)=1ifn=2
F(n)=F(n-1)+F(n-2)ifn>2
以下程序是求F(30),请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
main()
{
doublef1,f2;
inti;
f1=1;f2=1;
for(i=1;i<=30;i++)
{
f1=f1+f2;
f2=f2+f1;
}
clrscr();
printf("\nthenumberis:
%12.0lf",f1);
}
/*REF:
832040:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[100,300]之间所有能被其因子的个数整除的整数中最大的数。
请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,big;
b=0;
for(a=100;a<=300;a++)
{
for(c=1;c<=a;c++)
if(a%c==0)
b++
if(a%b==0)
{
big=a;
}
}
printf("%/*REF:
296:
REF*/
已知fibonacci数列:
1,1,2,3,5,8,......,它可由下面公式表述:
F
(1)=1ifn=1
F
(2)=1ifn=2
F(n)=F(n-1)+F(n-2)ifn>2
以下程序是求F(50),请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
main()
{
doublef1,f2;
inti;
f1=1;f2=1;
for(i=1;i<=24;i++)
{
f1=f1+f2;
f2=f2+f1;
}
clrscr();
printf("\nthenumberis:
%12.0lf",f1);
}
/*REF:
12586269025:
REF*/
下面程序求[2,600]之间同构数之和,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
同构数是:
一自然数平方的末几位与该数相同时,称此数为自构数,例如:
5*5=25,则称5为自同构数。
#include
#include
#include
main()
{
longsum,n,m,s,k;
sum=0;
for(n=2;n<=600;n++)
{
if(n<10)k=10;
else
if(n<100)k=100;
elsek=1000;
s=n*n;
s=s-n;
if(s%k==0)
/*REF:
488:
REF*/
下面程序是求[1,550]之间同时满足除3余2和除5余3条件的数之和。
请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
intsum;
inti;
sum=0;
for(i=1;i<=550;i++)
{
if(fmod(i,3)==2&&fmod(i,5)==3)
sum+=1;
}
clrscr();
printf("%ld\n",su/*REF:
10286:
REF*/
下面程序是求[10,650]之间同时满足除4余3或除5余4条件的数之和。
请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
intsum;
inti;
sum=0;
for(i=10;i<=650;i++)
{
if(fmod(i,4)==3||fmod(i,5)==4)
sum+=i;
}
clrscr();
printf("%ld\n",s/*REF:
84544:
REF*/
下面程序是求[20,1000]之间同时满足除4余3或除5余4条件的数的个数。
请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
intcount;
inti;
count=0;
for(i=20;i<=1000;i++)
{
if(fmod(i,4)==3||fmod(i,5)==4)
count+=i;
}
clrscr();
printf("%/*REF:
392:
REF*/
下面程序求[2,750]之间同构数的个数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
同构数是:
一自然数平方的末几位与该数相同时,称此数为自构数,例如:
5*5=25,则称5为自同构数。
#include
#include
#include
main()
{
longcount,n,m,s,k;
count=0;
for(n=2;n<=750;n++)
{
if(n<10)k=10;
else
if(n<100)k=100;
elsek=1000;
s=n*n;
s=s-n;
if(s%k==0)
/*REF:
6:
REF*/
下面程序求[3,750]之间同构数之和,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
同构数是:
一自然数平方的末几位与该数相同时,称此数为自构数,例如:
5*5=25,则称5为自同构数。
#include
#include
#include
main()
{
longsum,n,m,s,k;
sum=0;
for(n=3;n<=750;n++)
{
if(n<10)k=10;
else
if(n<100)k=100;
elsek=1000;
s=n*n;
s=s-n;
if(s%k==0)
/*REF:
1113:
REF*/
以下程序求[10,1000]之间能被3或5或8整除的数之和。
请改正程序中的错误,并运行修改后的程序,给出正确程序运行结果,填入相应窗口。
#include
#include
#include
main()
{
inti;
intsum;
sum=0;
for(i=10;i<1000;i++)
{if((fmod(i,3)==0)||(fmod(i,5)==0)&&(fmod(i,8)==0)
sum+=1;
}
clrscr();
printf("%d\n",sum);
}
/*REF:
267793:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[10,150]之间所有能被其因子的个数整除的整数中最大的数。
请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,big;
b=0;
for(a=10;a<=150;a++)
{
for(c=2;c<=a;c++)
if(a%c==0)
b++
if(a%b==0)
{
big=a;
}
}
printf("%d\n/*REF:
136:
REF*/
以下程序求[10,3000]之间能被2或3或5整除的数的个数。
请改正程序中的错误,并运行修改后的程序,给出正确程序运行结果,填入相应窗口。
#include
#include
#include
main()
{
inti;
intcount;
count=0;
for(i=10;i<=3000;i++)
{
if((fmod(i,2)==0)||(fmod(i,3)==0)&&(fmod(i,5)==0)
count+=i;
}
clrscr();
printf("%d\n",count);
}
/*REF:
2193:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[50,250]之间所有能被其因子的个数整除的整数之和,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,sum=0;
for(a=50;a<=250;a++)
{
b=1;
for(c=2;c<=a;c++)
if(a%c==0)
b+=1;
if(a%b==0)
{
sum=sub+a;
}
}
/*REF:
3193:
REF*/
下面的程序中,函数fun的功能是:
根据形参m,计算下面公式的值。
T=1/1!
+1/2!
+1/3!
+......+1/m!
请改正程序中的错误,并运行改正后的程序。
当从键盘输入10时,给出程序运行的正确结果(按四舍五入保留10位小数)。
#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(改为i);j++)fac=fac*i(改为j);
t+=1.0/fac;
}
returnt;
}
main()
{intm;
clrscr();
printf("\n请输入整数:
");
scanf("%d",&m);
printf("%f",fun(m));
}
/*REF:
1.7182818011:
REF*/
已知24有8个因子,而24正好被8整除。
下面程序求[50,250]之间所有能被其因子的个数整除的整数中最大的数。
请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。
#include
#include
#include
main()
{
inta,b,c,n,big;
for(a=50;a<=250;a++)
{
b=0;
for(c=1;c<=a;c++)
if(a%c==0)
b++
if(a%b==0)
{
big=b;
}
}
printf("/*REF:
248:
REF*/
已知fibonacci数列:
1,1,2,3,5,8,......,它可由下