C++初学者相关问题

/*4. 从键盘输入一个角度值y(计算时需要将角度值转换成弧度值:x=y*PI/180),PI的取值为3.14159265。
求sin(x)的近似值,要求截断误差小于10-7,即通项式的值小于10-7时停止计算。近似计算公式如下: 
输入输出格式参见样张:*/

//该程序利用for循环和泰勒公式计算sin函数的值

#include<iostream>

using namespace std;
int main()
{
	cout<<"2020110540刚阳\n";
    const double PI=3.14159265;
	double angle,rad,item,sum;
	int i=1;int f=-1;
	
	cout<<"请输入一角度(q to quit):___\b\b\b";
	while(cin>>angle)
	{
		rad=(angle*PI)/180;		
		sum=item=rad;
	
	    while(item>0.0000001||item<-0.0000001)
		{
		  item=f*(item*rad*rad)/((i+1)*(i+2));
	      i=i+2;
		  sum=sum+item;
		}
		
	
		
		cout<<"sin("<<angle<<")="<<sum<<endl;
		cout<<"请输入一角度(q to quit):___\b\b\b";
	}
	cout<<"Bye!";
	return 0;
}
	 

请问大佬们我这个程序哪里出现了错误?为什么每次运行结果都不一样?

while(cin>>angle)

 

------

你输入了什么数据呢?

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y