C语言 while语句及break的应用
发布网友
发布时间:2023-06-26 12:49
我来回答
共3个回答
热心网友
时间:2023-10-20 03:02
#include<stdio.h>
#include<stdlib.h>
# include<math.h>
int main(void)
{
int flag,denominator;
double esp,item,sum;
sum=1;
flag=1;
denominator=1;
scanf("%lf",&esp);
while(1.0/denominator>=esp)
{
flag=-flag;
denominator=denominator+3;
item=flag*1.0/denominator;
sum=sum+item;
}
printf("%.2lf",sum);
system("pause");
return 0;
}
使用break:
#include<stdio.h>
#include<stdlib.h>
# include<math.h>
int main(void)
{
int flag,denominator;
double esp,item,sum;
sum=1;
flag=1;
denominator=1;
scanf("%lf",&esp);
while(1)
{
if(1.0/denominator<esp)
break;
flag=-flag;
denominator=denominator+3;
item=flag*1.0/denominator;
sum=sum+item;
}
printf("%.2lf",sum);
system("pause");
return 0;
}
热心网友
时间:2023-10-20 03:02
循环条件写错啦,应该是
while(1.0/denominator>=esp)
输出应该用printf("%.4lf",sum); 因为是保留4位小数
用break也可以,在sum=sum+item;前写
if(fabs(item)>esp)
break;追问可是照你说的改while得不到应得结果啊。
追答循环前赋初值sum=1;
因为你的程序没有把第一项 1 算进去
热心网友
时间:2023-10-20 03:03
while(sum>=esp){
改成<=追问照你说的话,得不到输出。。。