实验项目,循环结构 (写实验报告 )
程序 1:由下面公式,计算 e 的近似值,(误差小
于给定的小数 δ)
.,,
!
1.,,
3
1
2
1
1
11 ???????
n
e
!!!几个变量的含义,e 表示总和,
x表示加项的分母(阶乘),
y 表示 加项,
detax 表示一个很小的正数,做为误
差满足的条件,
i 表示循环变量(用来求阶乘)
n!
1
main()
{double e=1.0,x=1.0,y,detax;
int i;
printf(“\n please enter a number:”);
scanf(“%lf”,&detax);
y=1/x;
while(y>=detax)
{x=x*i;
y=1/x;
e=e+y;
++i;
}
printf(“%12.10lf”,e);
}
程
序
问题解答,
2,当 detax 取 小于 1的数时,不循环。
当 detax 取什么值时,也不会只循环一次。
当 detax 取等于 1时,循环两次。
当 detax 取 0时,死循环。
3、增加一条 piprintf(“%d”,i); 语句,放在
程序结束前。
程序 2:计算,??
??
??
3
1
20
1
)2)(1(
ji
ji
2
main()
{int i,j;
long sum=0;
for(i=1 ; i<=20 ; i++)
for(j=1; j<4;j++)
sum=sum+(i+1)*(i+1)*(j+2);
printf(“sum is,%ld \n”,sum);
}
问题,
1,分别加 printf(“i=%d,,i-1); 和
printf (“j=%d,,j-1);
?
?
10
1n
n
? 的含义,例如
2 =1 + 2 + 3 + 4 + ….+ 10 2 2 2 2 2
?? ?
?? ?
???????
2
1
2
1
3
1
)]3()2()1[()(
nn m
nnnmn
={[( 1+1) +( 1+2) +( 1+3) ]+[( 2+1) +( 2+2) +( 2+3) ]
n
m
程序 1:由下面公式,计算 e 的近似值,(误差小
于给定的小数 δ)
.,,
!
1.,,
3
1
2
1
1
11 ???????
n
e
!!!几个变量的含义,e 表示总和,
x表示加项的分母(阶乘),
y 表示 加项,
detax 表示一个很小的正数,做为误
差满足的条件,
i 表示循环变量(用来求阶乘)
n!
1
main()
{double e=1.0,x=1.0,y,detax;
int i;
printf(“\n please enter a number:”);
scanf(“%lf”,&detax);
y=1/x;
while(y>=detax)
{x=x*i;
y=1/x;
e=e+y;
++i;
}
printf(“%12.10lf”,e);
}
程
序
问题解答,
2,当 detax 取 小于 1的数时,不循环。
当 detax 取什么值时,也不会只循环一次。
当 detax 取等于 1时,循环两次。
当 detax 取 0时,死循环。
3、增加一条 piprintf(“%d”,i); 语句,放在
程序结束前。
程序 2:计算,??
??
??
3
1
20
1
)2)(1(
ji
ji
2
main()
{int i,j;
long sum=0;
for(i=1 ; i<=20 ; i++)
for(j=1; j<4;j++)
sum=sum+(i+1)*(i+1)*(j+2);
printf(“sum is,%ld \n”,sum);
}
问题,
1,分别加 printf(“i=%d,,i-1); 和
printf (“j=%d,,j-1);
?
?
10
1n
n
? 的含义,例如
2 =1 + 2 + 3 + 4 + ….+ 10 2 2 2 2 2
?? ?
?? ?
???????
2
1
2
1
3
1
)]3()2()1[()(
nn m
nnnmn
={[( 1+1) +( 1+2) +( 1+3) ]+[( 2+1) +( 2+2) +( 2+3) ]
n
m