请问各位大佬,我WA的原因是什么?
#include<iostream>
#define pi 3.1415926
using namespace std;
int main()
{
int T,r1,r2,a1,a2;
float s;
do{cin>>T;}while(T<=0||T>1e5);
while(T--)
{
do{cin>>r1;}while(r1<=0||r1>1000);
do{cin>>a1;}while(a1<=0||a1>360);
do{cin>>r2;}while(r2<=0||r2>1000);
do{cin>>a2;}while(a2<=0||a2>360);
if(r1>=r2)
{
if(a1<=a2) s=pi/360*a1*(r1*r1-r2*r2);
else s=pi/360*(a1*r1*r1-a2*r2*r2);
}
else
{
if(a1>a2) s=0;
else s=pi/360*(a1-a2)*r1*r1;
}
cout<<s<<endl;
}
return 0;
}
首先do while用的不对,数据既然已经保证了,就没必要输入多次,把值搞混。还有就是不用看r1,r2,a1,a2哪个更大直接减就行啦。最后一点就是保留两位小数,在C++里要用#include <iomanip>里的cout << fixed << setprecision(2) << s << '\n';
大佬这是哪个题库的?