输入N个正数(输入-1表示输入结束),把这些数从大到小排列,并输出它们的平均值。编写两个函数,一个用来排列,一个用来算平均值
2条回答 默认 最新
- hello_world&& 2022-11-22 18:11关注
#include<stdio.h> void sort(int a[],int n) { int i,j,temp; for (i = 0; i< n - 1; i++) //比较n-1轮 { for ( j = 0; j< n - 1 - i; j++) //每轮比较n-1-j次, { if (a[j] > a[j+1]) //从小到大 { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } } float aver(int a[],int n) { float sum=0; for(int i=0;i<n;i++) sum+=a[i]; return sum/n; } int main() { int a[100]; int i,n=0; while(1) { scanf("%d",&a[n]); if(a[n]==-1) break; n++; } sort(a,n); printf("%f\n",aver(a,n)); for(i=0;i<n;i++) printf("%d ",a[i]); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 merge函数占用内存过大
- ¥15 Revit2020下载问题
- ¥15 使用EMD去噪处理RML2016数据集时候的原理
- ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
- ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
- ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
- ¥15 如何在炒股软件中,爬到我想看的日k线
- ¥15 seatunnel 怎么配置Elasticsearch
- ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
- ¥15 (标签-MATLAB|关键词-多址)