gpt4 book ai didi

带结构的 C 数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:42 24 4
gpt4 key购买 nike

我是结构的初学者,几乎不了解它们的用途。我有一个任务要创建一个包含 5 个点的空间的数组。每个点都将由用户输入。

我不明白如何将结构与数组一起使用。我试过了,但它根本不起作用......

        #include <stdio.h>

int main(void)
{

struct Input
{
int x;
int y;
};

struct Input arr[5];


for(int i=1; i <= 5; i++)
{
printf("Enter coordinates for point #%d (x,y): ", i);
scanf("%d,%d", &arr[i].x, &arr[i].y);
}

printf("\n\nYou entered:\n");

for(int i=1; i <= 5; i++)
{
printf("Point #%d: %d, %d\n", i, arr[i].x, arr[i].y);
}


getchar();
getchar();

return 0;

}

编辑

我正在尝试计算 x 坐标的平均值,但是 obs.avgX 没有按计划工作,计算结果总是为 0。

#include <stdio.h>

int main(void)
{

struct Observations
{
int x;
int y;
double avgX;
double avgY;
};

struct Observations arr[5];
struct Observations obs;


for(int i=0; i < 5; i++)
{
printf("Enter coordinates for point #%d (x,y): ", i +1);
scanf("%d, %d", &arr[i].x, &arr[i].y);
}

printf("\n\nYou entered:\n");

for(int i=0; i < 5; i++)
{
printf("Point #%d: %d, %d\n", i, arr[i].x, arr[i].y);
}


obs.avgX = arr[0].y + arr[1].y + arr[2].y + arr[3].y + arr[4].y / 5;
printf("Average of X: %d", obs.avgX);


getchar();
getchar();

return 0;

}

最佳答案

如果您需要创建一个包含 5 个点的数组,首先您必须定义一个点是什么。

例如:

struct Point {
int x;
int y;
};

然后你必须定义一个包含 5 个点的数组:

struct Point array_of_points[5];

你可以这样使用它:

array_of_points[0].x = 20;
array_of_points[0].y = 10;
// etc...
array_of_points[4].x = 3;
array_of_points[4].y = 8;

关于带结构的 C 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19874800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com