天问一号于2021年2月到达火星附件,实施火星捕获。于2021年5月择机实施降轨,着陆巡视器与环绕器分离,软着陆火星表面,火星车驶离着陆平台,开展巡视探测等工作。在此之前,我国已向太空发射多颗人造卫星,现有n(1=<n<=5)颗人造卫星,其中每颗卫星具有3个属性,分别为卫星制造年份、卫星编号、卫星载重量(属性均为int型整数值),现要求从键盘输入n以及n颗卫星的数据,然后输出载重量低于n颗卫星的平均载重量的卫星数量(平均载重量采用整型除法求解即可,无须使用浮点数除法)。请按以下结构体类型编写该程序。 struct sate { int year;//卫星制造年份 int id;// 卫星编号 int load;//卫星载重量 }
时间: 2024-03-25 13:36:00 浏览: 69
好的,以下是结构体类型的代码实现:
```c
#include <stdio.h>
#define MAX_SATELLITE_NUM 5
struct sate {
int year;
int id;
int load;
};
int main() {
int n;
struct sate satellite[MAX_SATELLITE_NUM];
int total_load = 0;
int count = 0;
printf("请输入卫星数量n(1<=n<=5):");
scanf("%d", &n);
printf("请输入%d颗卫星的数据(制造年份 卫星编号 载重量):\n", n);
for (int i = 0; i < n; i++) {
scanf("%d %d %d", &satellite[i].year, &satellite[i].id, &satellite[i].load);
total_load += satellite[i].load;
}
int average_load = total_load / n;
for (int i = 0; i < n; i++) {
if (satellite[i].load < average_load) {
count++;
}
}
printf("载重量低于平均载重量的卫星数量为:%d\n", count);
return 0;
}
```
输入格式为:
```
请输入卫星数量n(1<=n<=5):(输入一个整数n)
请输入n颗卫星的数据(制造年份 卫星编号 载重量):
(输入n行,每行三个整数,分别为制造年份、卫星编号和载重量)
```
输出格式为:
```
载重量低于平均载重量的卫星数量为:(输出一个整数,表示载重量低于平均载重量的卫星数量)
```
阅读全文