从键盘输入N(N>=5)架战斗机型号和对应的最大飞行高度(如:MiG-31: 25000米、U2: 24000米、F-22: 22000米、Typhoon: 20000米、F-15: 19697米),要求至少自定义2个函数,实现如下功能:
录入和浏览功能:将战斗机的型号和最大飞行高度分别录入到显示系统中,并给出输出。
统计功能:计算战斗机的平均飞行高度,并输出大于平均飞行高度的战斗机型号。
排序功能:按照从大到小的顺序,依次地输出最大飞行高度值。
#include <stdio.h>
#define N 5
void statistics(char air[N][10],int hei[N]);
void sort(int hei[N]);
int main()
{
char air[N][10]; //型号数组
int hei[N]; //高度数组
//录入和浏览功能
for(int i = 0; i < N; i++)
{
printf("请输入第%d个飞机的型号:", i + 1);
scanf("%s",&air[i]);
printf("请输入第%d架飞机的最高飞行高度:",i+1);
scanf("%d",&hei[i]);
}
for(int i = 0; i < N; i++)
{
printf("%s型号飞机的最大飞行高度是%d米\n",air[i],hei[i]);
}
statistics(air,hei);
sort(hei);
return 0;
}
//统计功能
void statistics(char air[N][10],int hei[N]){
int sum=0;
for(int i=0;i<N;i++){
sum+=hei[i];
}
int ave=sum/N;
printf("平均飞行高度是%d米\n",ave);
printf("大于平均飞行高度的战斗机型号有:");
for(int j=0;j<N;j++){
if(hei[j]>ave) printf("%s ",air[j]);
}
}
//排序功能
void sort(int hei[N]){
//冒泡排序
for(int i=0;i<N;i++){
for(int j=0;j<N-1;j++){
if(hei[j]<hei[j+1]){
int temp=hei[j];
hei[j]=hei[j+1];
hei[j+1]=temp;
}
}
}
printf("\n");
for(int j=0;j<N;j++){
printf("%d ",hei[j]);
}
}