6.17C语言:求1~10的阶乘之和
#include<stdio.h>
int main(){
int n;
long sum=0,f=1;
for(n=1;n<=10;n++){//循环穷举n的取值
f*=n; //迭代公式,累乘计算n!
sum+=f; //累加求和
}
printf("1`10的阶乘之和为:%ld",sum);
}
6.18用迭代法计算方程x^2=a的解,即计算根号a的值。(不用Sqrt())
#include<stdio.h>
#include<math.h>
#define PRECISION 0.000001
int main(){
float x=1.0,a,temp; //设置迭代初值1.0
int count=0; //计算迭代次数
printf("请输入一个非负数:\n");
scanf("%f",&a);
while(fabs(x-temp)>=PRECISION)//当误差大于指定范围时,继续迭代
{
temp=x; //临时保存上次迭代的结果
x=1+(a-1)/(x+1); //迭代公式,计算迭代结果
count++;
}
printf("方程近视解为:%f ,迭代次数为:%d\n",x,count);
return 0;
}