我是结构的初学者,几乎不了解它们的用处。我有一个任务是创建一个空间为 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;
}