使用VS code执行以下代码结果一直不出现,最终出现为-1
#include
#include
#include
using namespace std;
int main(){
int a=1,n=1;
float s,k,pi=3.1415926;
while(a>0){
n+=2;
if (a%2==1){
k=sin(n*pi/2)*1.0/a;
s+=k;
a+=2;
}
}
cout<<setprecision(7)<return 0;
}
循环条件应该是k的精度是否在题目要求范围内
如:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main(){
int n=1;
float s=0,k=1;
while(k>1e-7){
k=1.0/n;
if (n%4==1){
s+=k;
}else{
s-=k;
}
n+=2;
}
cout<<setprecision(7)<<s<<endl;
return 0;
}
你这a一直在加,啥时候才能不大于0啊。只要大于0,就是死循环
你这题目是啥呢?
这不死循环了么