/**********FOUND**********/
if(m%i=0)k=0;
/**********FOUND**********/
returnm;
}
intmain()
{
intm,k=0;
for(m=1;m<100;m++)
if(fun(m)==1)
{
printf("%4d",m);k++;
if(k%5==0)printf("\n");
}
}
第10题/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
用下面的和式求圆周率的近似值。
直到最后一项的绝对值
小于等于0.0001。
π111
—=1-—+—-—+...
4357
------------------------------------------------------*/
#include
/**********FOUND**********/
#include
fun()
{
inti=1;
/**********FOUND**********/
ints=0,t=1,p=1;
/**********FOUND**********/
while(fabs(t)<=1e-4)
{
s=s+t;
p=-p;
i=i+2;
t=p/i;
}
/**********FOUND**********/
printf("pi=%d\n",s*4);
}
main()
{
fun();
}
第11题/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
求1到20的阶乘的和。
------------------------------------------------------*/
#include
fun()
{
intn,j;
floats=0.0,t=1.0;
for(n=1;n<=20;n++)
{
/**********FOUND**********/
s=1;
for(j=1;j<=n;j++)
/**********FOUND**********/
t=t*n;
/**********FOUND**********/
s+t=s;
}
/**********FOUND**********/
printf("jiecheng=%d\n",s);
}
main()
{
fun();
}
第12题/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
输出Fabonacci数列的前20项,要求变量类型定义成浮点型,
输出时只输出整数部分,输出项数不得多于或少于20。
------------------------------------------------------*/
#include
fun()
{
inti;
floatf1=1,f2=1,f3;
/**********FOUND**********/
printf("%8d",f1);
/**********FOUND**********/
for(i=1;i<=20;i++)
{
f3=f1+f2;
/**********FOUND**********/
f2=f1;
/**********FOUND**********/
f3=f2;
printf("%8.0f",f1);
}
printf("\n");
}
main()
{
fun();
}
第13题/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
计算正整数num的各位上的数字之积。
例如:
输入252,则输出应该是20。
------------------------------------------------------*/
#include
longfun(longnum)
{
/**********FOUND**********/
longk;
do
{
k*=num%10;
/**********FOUND**********/
num\=10;
}while(num);
returnk;
}
main()
{
longn;
printf("\nPleaseenteranumber:
");
/**********FOUND**********/
scanf("%ld",n);
/**********FOUND**********/
printf("\n%ld\n",fun(longn));
}
第14题/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
已知一个数列从第0项开始的前三项分别为0、0、1,以
后的各项都是其相邻的前三项的和。
下列给定程序中,
函数fun的功能是:
计算并输出该数列的前n项的平方根
之和sum,n的值通过形参传入。
例如:
当n=10时,程序的输出结果应为23.197745。
------------------------------------------------------*/
#include
#include
/**********FOUND**********/
fun(intn)
{
doublesum,s0,s1,s2,s;
intk;
/**********FOUND**********/
sum=0.0;
if(n<=2)sum=0.0;
s0=0.0;
s1=0.0;
/**********FOUND**********/
s2=0.0;
/**********FOUND**********/
for(k=4;k>n;k++)
{
s=s0+s1