网站首页 > 知识剖析 正文
①目标
输入一个正数数组,求平均值,
并根据平均值重新排序,
大于平均值的数前置,
小于等于平均值的值后置。
~
②命令行
#include< stdio.h>
调用输入输出函数库
#include<stdlib.h>
调用文件函数库
#define N 10
宏定义,简单理解为N=10
~
③定义函数
double fun (double *x)
/*定义的fun函数有3个功能,平均值、前置和后置*/
{
int i,j;double s,av,y[N];
/*定义临时数组y[N],用于储存重新排序后的数组元素*/
s=0;
for(i=0;i<N;i++) s=s+x[i];
/*累加,为平均值做准备*/
av=s/N;
/*求平均值,还有一种方法是av=av+x[i]/N*/
for(i=j=0;i<N;i++)
if(x[i]>av)
{y[j++]=x[i];x[i]=-1;}
/*筛选出大于平均值的数,放入y[j++]中,配合i++,j也++。并把大于平均值的数重新赋值为-1或者其他负数,区分其他小于等于平均值的正数*/
for(i=0;i<N;i++)
if(x[i]!=-1)
y[j++]=x[i];
/*筛选出不等于-1的数,即小于等于平均值的数,再排在y[j++]的后面。
至于此处筛选小于等于平均值,为什么要用-1替换?而不直接用x[i]<=av?我也不知道,试了一下结果没变,猜测可能是为了规避重复,希望有大神解答*/
for(i=0;i<N;i++)
x[i]=y[i];
/*再用重新排序的y[i]替换x[i],即完成了x[i]的排序。*/
return av;
/*令fun(x)函数的结果为平均值av*/
}
~
④主函数(调用)
void main()
{
int i;double x[N];
for(i=0;i<N;i++)
{x[i]=rand()%50;printf("%4.0f",x[i]);}
/*输入x[i]的元素为0到49的随机数,4.0表示用空格间隔*/
printf("\n");
printf("\nThe average is:%f\n",fun(x));
/*输出平均值*/
printf("\nThe result :\n",fun(x));
/*这里可以不要输出项fun(x),理解输出固定字符串The result:*/
for(i=0;i<N;i++)
printf("%4.0f",x[i]);
/*输出重新排序后的x[i]*/
printf("\n");
}
猜你喜欢
- 2025-01-20 Excel中的6个经典排序技巧都不掌握,还敢称Excel达人?
- 2025-01-20 查询函数Choose、Lookup、Hlookup、Vlookup应用技巧解读
- 2025-01-20 一起学《C程序设计》第六课——数组、字符串及实战练习
- 2025-01-20 一文解决CSP-J考纲所有排序算法
- 2025-01-20 Excel VBA 自定义函数/数组字段定位/数组字段排序
- 2025-01-20 java基础,arrays类,Java的八种排序,冒泡排序
- 2025-01-20 excel中什么是数组,数组的作用是什么,这篇文章就带你入门
- 2025-01-20 16.9 数组 - 数据排序技术
- 2025-01-20 怎么求第K大的数,topK 问题(快排的应用)java
- 2025-01-20 VBA按日期统计就餐时段刷卡及人数(数组字典内置函数去重排序)
- 04-29php开发者composer使用看这一篇就够了
- 04-29引用和变量声明在不同语言中的实作
- 04-29PHP 没你想的那么差
- 04-29Ubuntu linux 上的 Nginx 和 Php 安装
- 04-29CentOS下通过yum搭建lnmp(单版本PHP)
- 04-29为什么 PHP8 是个高性能版本
- 04-29PHP8函数包含文件-PHP8知识详解
- 04-29使用无参数函数进行命令执行
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)