65,210
社区成员
发帖
与我相关
我的任务
分享#include <iostream>
using namespace std;
int input_odd()
{
cout<<"请输入一个奇数作为点的个数:"<<" ";
while(1)
{
int odd_no;
cin>>odd_no;
//判断输入的是否为奇数
if(odd_no % 2 == 0)
cout<<"输入的不是奇数请重新输入:"<<" ";
else
return odd_no;
}
}
int main()
{
//获取奇数大小
int odd_no = input_odd();
//根据奇数来获取坐标
int coordinate_x[20000];//这样分配内存太过浪费,如果你想看如何动态分配可以参考相关资料,这里暂不实现
int coordinate_y[20000];
int coordinate_type[20000] = {0};//为将来给坐标分象限做准备
//cout<<"请输入所有"<<odd_no<<"行坐标!"<<endl;
for(int i=0 ; i < odd_no; i++)
{
cout<<"输入第"<<i<<"个坐标:";
cin>>coordinate_x[i]>>coordinate_y[i];
}
for(int j=0 ; j < odd_no; j++)
{
int mid_odd_no = (odd_no-1)/2;//中间坐标的编号
if (coordinate_x[j] > coordinate_x[mid_odd_no] &&
coordinate_y[j] > coordinate_y[mid_odd_no])
{
coordinate_type[j] = 1;
cout << coordinate_x[j] <<" "<< coordinate_y[j] << endl;
}
else if(coordinate_x[j] < coordinate_x[mid_odd_no] &&
coordinate_y[j] > coordinate_y[mid_odd_no])
{
coordinate_type[j] = 2;
}
/************************************************************************/
/* 判断条件中不用'=',因为实际操作中会把原点统计若干次
所以个人建议尽量把判断在轴上的线的条件单独列出,你可以根据题目要求做改动
接下来的自己写吧!没做过完整的测试,应该没什么问题 */
/************************************************************************/
else
{
}
}
return 0;
}