首页 新闻 会员 周边 捐助

这个是啥意思?

0
悬赏园豆:15 [已解决问题] 解决于 2014-12-09 10:44

#include <stdio.h>
#include <math.h>
int main(void){
int flag,div;
flag=1;
div=1.0;
double eps;
double sum=0;
double item=1.0;
again:
printf("输入一个不大于1的正实数:");
scanf("%lf",&eps);
while(eps>1.00||eps<=0){
printf("输入错误,请输入一个不大于1的正实数:");
scanf("%lf\n",&eps);
}
while(fabs(item)>=eps){
item=flag*1.0/div;
sum=sum+item;
flag=-flag;
div=div+2;
}
printf("当小于%.4f时的值是%.6f\n",eps,sum);
goto again;
fflush(stdin);
getchar();
return 0;
}

这样就没有然后啦!!

c
silence、角落的主页 silence、角落 | 初学一级 | 园豆:146
提问于:2014-12-08 21:00
< >
分享
最佳答案
0

#include <stdio.h>
#include <math.h>
int main(void){
int flag,div;
flag=1;
div=1.0;
double eps;
double sum=0;
double item=1.0;
int count=1;//正确输入次数
again:
//printf("输入一个小于1的正实数:");
//scanf("%lf",&eps);
//while(eps>=1.00||eps<=0){
//printf("输入错误,请输入一个小于1的正实数:");
//scanf("%lf\n",&eps);
// }
while(1){
printf("第%d次正确输入一个不大于1的正实数:",count);
scanf("%lf",&eps);
if(eps>1.00||eps<=0){
printf("输入错误,请重新输入!\n");
continue;
}else{
break;
}
}
while(fabs(item)>=eps){
item=flag*1.0/div;
sum=sum+item;
flag=-flag;
div=div+2;
}
count= count+1;
printf("当最后一项小于%.4f时的值是%.6f\n",eps,sum);
goto again;
fflush(stdin);
getchar();
return 0;
}

silence、角落 | 初学一级 |园豆:146 | 2014-12-09 10:41
其他回答(1)
0

进入死循环

while(fabs(item)>=eps){
item=flag*1.0/div;
....
}

收获园豆:15
Yu | 园豆:12990 (专家六级) | 2014-12-08 21:23

谢谢!!

支持(0) 反对(0) silence、角落 | 园豆:146 (初学一级) | 2014-12-09 10:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册