c中计算平均值、、小值_第1页
c中计算平均值、、小值_第2页
c中计算平均值、、小值_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+中计算平均值、小值排序操作#includevoidsort(array,n)intarray; intn;inti,j,k,t;for(i=0;i)/* 循环 9次, 这里循环 9次因为排列到第 9次的时候的已经自动 被排列到最后了 */ k=i;/LIGHT/* 把 i 记录下来 , 以便进行调换操作 */ for(j=i+1;)j/* 在外部 i 循环内进行第二次循环 , 检查所有的剩余元素 */if(arrayj)/* 利用k对比j循环的元素大小是否比外部i循环当前元素的 值*/k=j;/* 将 k 的值定义为 j 循环的最小元素的 (下标), 以便进行调换操作 */t=arrayk

2、;/* 将 t 的值定义为 j 循环的最小值元素的值 */ arrayk=arrayi;/* 把 j 循环内的 (也就是 arrayj) 的值, 调换为此次外 部 i 循环元素的值 */arrayi=t;/* 将外部 i 循环的当前元素的值替换为前面以 t 为临时存储的 ( 也就是 arrayj) 的值*/main()inta10,i;/*定义a10为一个数组,用于输入10个不同的数字;定义用于循环的便量 i;*/printf("enterthearray ");for(i=0;i<10;i+)scanf("%d",&ai);/* 利用这

3、10 次循环给每个数组元素尽心赋值操作从 a0 到 a9*/sort(a,10);/* 把数组 a 的各数组元素地址和数组数量传递给自定义排序涵 数的形式参数 */printf("thesortedarray:");for(i=0;i<10;i+)printf("%d",ai);/* 利用 10 次循环把排序后的数组元素打印在屏幕上 */printf("");提示: 此篇代码练习序号注意的是用数组名作涵数实际参数的时候,不是把数组的值传递给形式参数, 而是把实际参数数组的起始地址传递给形式参数数组, 这样两个数组就共同占用一段内

4、存单元, 而不需要建立两个不同的数组浪费内存 空间。求平均值和找最小值?#includefloatmax;/* 定义全局变量max用于存储的数*/floatmin;/* 定义全居变量 min 用于存储最小的数 */main()floatcount_avg();/* 声明自定义涵数的数据类型 */floatscore10;/* 定义一个数组用于存储输入数字 */floatscore_avg;inti;/* 定义用于循环的变量 i*/for(i=0;i<10;i+)/* 利用一个为 10次的循环为 score0-score9 的数组 元素输入值 */scanf("%f",

5、&score);/* 格式化输入 */score_avg=count_avg(score,10);/* 调用 count_avg 涵数计算平均值 , 在实际参数中带如数组 score 的地址和数组元素个数 */ printf("avg=%6.2fmax=%6.2fmin=%6.2f",score_avg,max,min);/*将 平 均值, 值, 最小值打印在屏幕上 */ floatcount_avg(array,score_num)/* 定义 count_avg 这个自定义涵数的数 据类型为浮点形 */floatarray;/* 定义形式参数 array 这个数组

6、为浮点形 */ intscore_num;/* 定义形式参数 score_num 为正形 , 用于得到实际参数也就 是数组的元素个数 */inti;/* 定义用于循环的变量 i*/ floatsum=array0;/* 预先设置总数初始值为 array0 以便于后面对比大 小的操作 */floatavg;/* 定义 avg 也就是平局值存储变量为浮点形 */ max=array0;/* 预先设置值初始值为 array0 以便于后面对比大的操作*/ min=array0;/* 预先设置最小值初始值为 array0 以便于后面对比小的 操作 */for(i=1;i<10;i+)/* 利用一个

7、为 9 次的循环逐个和 array0 进行对比找出 值和最小值 */ if(array>max)/* 利用已经存储的值和当前循环下的 array 进行对比 ( 找大 计算)*/ max=array;/* 符合条件的存储为值 . 注意 :( 这里利用循环判断反复的对比操 作逐步替换值最后得到的数 )*/ elseif(array min=array;/* 符合条件的存储为最小值 . 注意 :( 这里利用循环判断反复的对 比操作逐步替换最小值最后得到的数 )*/ sum+=array;/* 计算个数组元素的总和 */avg=sum/score_num;/* 计算出最后的平均值 */ return(avg);/* 返回平均值 */此例需要注意的是利用全局变量可以减少实际参数和形式参数的个数, 从而 减少内存空间和传递值数据是的时间开销。 此外 c 语言也规定外部数组可以富裕 初值,而局部数组是不能赋予初值的,建议不在必要的时候不要使用全局变量, 因为 1:全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要的 时候开辟单元。 2:它使涵数的通用性降低了,因为涵数在执行过程中要依赖于 其他所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论