从键盘输入N(N>=5)架战斗机型号和对应的最大飞行高度(如:MiG-31: 25000米、U2: 24000米、F-22: 22000米、Typhoon: 20000米、F-15: 19697米),要求至少自定义2个函数,实现如下功能:
录入和浏览功能:将战斗机的型号和最大飞行高度分别录入到显示系统中,并给出输出。
统计功能:计算战斗机的平均飞行高度,并输出大于平均飞行高度的战斗机型号。
排序功能:按照从大到小的顺序,依次地输出最大飞行高度值。
求如下问题的流程图。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 技术专家团-小桥流水 2022-10-25 01:57关注
流程图:
(1)录入及浏览函数流程图(2)统计函数流程图
(3)排序函数流程图
代码:
#include <stdio.h> //定义数据结构体 typedef struct _stdata { char name[20]; //型号 int height; //高度 }StData; //录入功能 void input(StData a[],int* n) { int i; printf("请输入战斗机的数量:"); scanf("%d",n); for(i=0;i<*n;i++) { printf("请输入战斗机%d的型号和高度:",i+1); scanf("%s %d",a[i].name,&a[i].height); } //浏览 printf("战斗机的型号和高度为:\n"); for(i=0;i<*n;i++) { printf("%s:\t%d米\n",a[i].name,a[i].height); } } //统计 void Tongji(StData a[],int n) { float ave = 0; int i; for(i=0;i<n;i++) ave += a[i].height; ave = ave/n; //计算平均高度 printf("大于平均飞行高度的战斗机型号:\n"); for(i=0;i<n;i++) { if(a[i].height > ave) printf("%s ",a[i].name); } } //排序 void SortByHeight(StData a[],int n) { int i,j; StData t; for(i=0;i<n-1;i++) { for(j=0;j<n-1-i;j++) { if(a[j].height < a[j+1].height) { t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } } //依次输出飞行高度 for(i=0;i<n;i++) printf("%d ",a[i].height); } int main() { StData arr[100]; int n; input(arr,&n); //录入并浏览 Tongji(arr,n); //统计功能 SortByHeight(arr,n); //排序功能 return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 Qt中实现子线程和管理线程类之间实时通信
- ¥15 cacls 命令如何解除锁定文件夹?
- ¥50 C++使用TWAIN协议如何实现A3幅面扫描仪扫描A4横向
- ¥15 如何在sql server里完成筛选
- ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
- ¥200 求博主教我搞定neo4j简易问答系统,有偿
- ¥15 nginx的使用与作用
- ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
- ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
- ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?