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;
}
发布了150 篇原创文章 · 获赞 7 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 精致技术 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览