7-117 圓內外 (15分)

在這裏插入圖片描述

代碼一(答案錯誤)

#include <iostream>
using namespace std;
 
 
int main()
{
	int a,b,x,y;
	double sum;
	while(cin>>a>>b>>x>>y){
		sum=(double)x*x/a*a+(double)y*y/b*b;
		if(sum>1)cout<<"out ellipse"<<endl;
		else if(sum<1) cout<<"in ellipse"<<endl;
	}
    return 0;
}

代碼二(答案正確)

優化:強制轉換可以換成乘1.0
錯誤點:1.0xx/a/a 連除a,不是/a*a,或者加上括號

#include <iostream>
using namespace std;
 
int main()
{
	int a,b,x,y;
	double sum;
	while(cin>>a>>b>>x>>y){
		sum=1.0*x*x/a/a+1.0*y*y/b/b;
		if(sum>1)cout<<"out ellipse"<<endl;
		else if(sum<1) cout<<"in ellipse"<<endl;
	}
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章