C语言——解决坐标问题(数学规律)

问题介绍:一个机器人从O点出发,向正东方向走3米到达A1,再再向正北方向走6米到达A2,再向正西方向走9米到达A3,再向正南方向走12米到达A4,再向正东方向走15米到达A5,按如此规律走下去,并且以点O为原点,以1米为单位长度,正东方向为x轴正方向,正北方向为y轴正方向建立平面直角坐标系,当机器人走到A10时,A10的坐标为多少?

代码:


#include

void createArray(int n)
{
 int x;
 if(n%2!=0)
 {
  n=n+1;
 }
 if((n/2)%2==0)
 {
  n=n*(-1);
 }
 x=(n*3)/2;
 cout<<x<<endl;
 
}
void printArray(int n )
{
 int y;
 int i=n;
 if((n+2)%4==3)
 {
  n=n-3;
 
 }
 else if((n+2)%4==2)
 {
  n=n-2;
 }
 else if((n+2)%4==1)
 {
  n=n-1;
 }
 y=(n*3)/2+3;
 if((i+2)%4==3||(i+2)%4==2)
 {
  y=y*(-1);
 }
 cout<<y<<endl;
}


int main(int argc, char** argv) {
 int x;
 int  y;
 int n;
 cout<<"请输入想查询的第几项,如A10,则为第10项"<<endl;
 cin>>n;
 cout<<"该项的x值为:"<<endl; 
 createArray(n);
 cout<<"该项的y值为:"<<endl;
 printArray(n );
 return 0;
}

问题结果:

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值