编写程序,计算s=s1+s2+s3+s4的值,其中s1=1+1⼀2+1⼀3+……+1⼀50.s2=

2025-05-14 09:55:17
推荐回答(1个)
回答(1):

#include "stdio.h"
double f(int n){
double s=0;
while(n)
s+=1.0/n--;
return s;
}
int main(int argv,char *argc[]){
printf("The result are %f\n",f(50)+f(100)+f(150)+f(200));
return 0;
}

运行结果:

也可以如下写,时效好些:

#include "stdio.h"
int main(int argv,char *argc[]){
int i;
double s,t;
for(t=0,i=1;i<51;t+=1.0/i++);
for(s=t+t+t+t,t=0,i=51;i<101;t+=1.0/i++);
for(s+=t+t+t,t=0,i=101;i<151;t+=1.0/i++);
for(s+=t+t,i=151;i<201;t+=1.0/i++);
printf("The result are %f\n",s+t);
return 0;
}