目前主要分为三个专栏,后续还会添加:
感谢阅读!
初来乍到,如有错误请指出,感谢!
描述
牛牛尝试在蒙住眼睛的情况下拿到旁边的金币,假设的坐标是 (x,y) ,金币的坐标是 (x1,y1) ,金币一定在牛牛在周围,即 ∣𝑥1−𝑥∣+∣𝑦1−𝑦∣=1 ∣x1−x∣+∣y1−y∣=1 请你判断牛牛应该往哪个方向伸手。
输入描述:
第一行输入 x ,y 表示牛牛的坐标。
第二行输入 x1,y1 表示金币的坐标。保证 ∣𝑥1−𝑥∣+∣𝑦1−𝑦∣=1 ∣x1−x∣+∣y1−y∣=1
坐标是整数。
输出描述:
输出牛牛应该往哪个方向伸手。
例:
(x,y)=(0,0) (x1,y1)=(0,1) ,则牛牛向上伸手,输出 'u' 。
(x,y) =(0,0) (x1,y1) = (0,-1) ,则牛牛向下伸手,输出 'd'。
(x,y) =(0,0) (x1,y1) = (1,0) ,则牛牛向右伸手,输出 'r'。
(x,y) =(0,0) (x1,y1) = (-1,0) ,则牛牛向左伸手,输出 'l'。
思路 :
一开始我想的很多
数组啦、二维数组啦、坐标加减坐标啦
结果发现想复杂了
不需要那么多的步骤
题目没有理解全
......
唉,苦恼
还是看了别人的代码
突然豁然开朗。。。
如果 𝑥1>𝑥 x1>x 并且 𝑦1=𝑦y1=y,牛牛应该向右伸手,输出 'r'。
如果 𝑥1<𝑥 x1<x 并且 𝑦1=𝑦y1=y,牛牛应该向左伸手,输出 'l'。
如果 𝑥1=𝑥 x1=x 并且 𝑦1>𝑦y1>y,牛牛应该向上伸手,输出 'u'。
如果 𝑥1=𝑥 x1=x 并且 𝑦1<𝑦y1<y,牛牛应该向下伸手,输出 'd'。
代码1:
# include <stdio.h>
int main ()
{
int x,y,x1,y1;
scanf("%d %d",&x,&y);
scanf("%d %d",&x1,&y1);
if (x==x1)
{
if (y1>y)
{
printf("u");
}
else
{
printf("d");
}
}
if (y==y1)
{
if (x1>x)
{
printf("r");
}
else
{
printf("l");
}
}
return 0;
}
代码2:
int main()
{
int x,y,x1,y1;
scanf("%d %d",&x,&y);
scanf("%d %d",&x1,&y1);
if (x1==x)
y1>y?printf("u"):printf("d");
else
x1>x?printf("r"):printf("l");
return 0;
}
代码3:
这个是AI写出来的代码......
AI超越人,可能真的指日可待......
#include <stdio.h> // 包含标准输入输出库
int main()
{
int x, y, x1, y1; // 定义四个整型变量,分别代表牛牛和金币的坐标
// 读取牛牛的坐标
scanf("%d %d", &x, &y);
// 读取金币的坐标
scanf("%d %d", &x1, &y1);
// 判断牛牛应该往哪个方向伸手
if (x1 > x && y1 == y)
{
printf("r\n"); // 如果金币在牛牛的右边,则牛牛应该向右伸手
}
else if (x1 < x && y1 == y)
{
printf("l\n"); // 如果金币在牛牛的左边,则牛牛应该向左伸手
}
else if (x1 == x && y1 > y)
{
printf("u\n"); // 如果金币在牛牛的上方,则牛牛应该向上伸手
}
else if (x1 == x && y1 < y)
{
printf("d\n"); // 如果金币在牛牛的下方,则牛牛应该向下伸手
}
return 0; // 程序正常结束
}