问题:
尝试找出位置x
和y
中的点,然后将其表示为具有两个字段的结构。
因此,根据接受该结构的函数,它将返回1、2、3或4。(这是4个象限)
如果x和y为正,则象限1, 如果x为负且y为正,则2 如果x为负且y为负,则象限3, 如果x为正且y为负,则象限4。
我的大部分问题不是完全理解问题,我是否使用结构为x和y取2个值并返回数字?
此外,我该如何与我的结构交互? 希望我提供了足够的信息,这几乎就是我的全部。
代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct coord
{
int x;
int y;
}POINT;
int main(){
int the_point;
scanf("%d", &the_point);
POINT * coord = malloc(50 * sizeof(POINT));
if (the_point)
return 0;
}
答案 0 :(得分:1)
首先,您如何看待这一点。好像您扫描到the_point
。此变量仅是一个int,这意味着除非您计划对其进行解析或以其他方式进行操作,否则必须确定这是问题中的x值还是y值。最好让用户明确输入点的坐标。如:
printf("Enter the x-coord of the input: ");
scanf("%d", &the_point);
///
///assign the_point to the x-coord
///
// do the same thing for y-coord
您将使用箭头操作符访问结构中的字段,例如:
myStruct->field1 = some_var
您可以使用相同的语法在各个字段上运行条件检查。
答案 1 :(得分:1)
如果您不理解这个问题,我强烈建议您与您的教授/老板/客户澄清这个问题。电子邮件,通话,打电话给您需要的人。与同事和其他学生核对。试图回答一个您不理解的问题是不好的。
结构只是可以在c中保存各种类型数据的“容器”。除了保存数据,他们实际上并没有做其他事情。
以下是与结构进行交互并将其传递给函数的一些示例 https://fresh2refresh.com/c-programming/c-passing-struct-to-function/
除非您有特定的原因知道结构应该是全局的,否则不要做最后一个选择(使用全局结构)。
答案 2 :(得分:0)
是您要找的东西吗?
if (the_point[i].x < 0) {
if (the_point[i].y < 0) {
// quadrant 3
}
else {
// quadrant 2
}
}
else {
if (the_point[i].y < 0) {
// quadrant 4
}
else {
// quadrant 1
}
}
输入行为:
for (int i = 0; i < 50; ++i) {
scanf("%d %d", &the_point[i].x, &the_point[i].y);
}
此外,the_point必须声明为:
POINT the_point[50];