C语言项目化教程(基于智能制造软件) 课件 项目五任务三 对某品牌新能源汽车销售人员业绩排序_第1页
C语言项目化教程(基于智能制造软件) 课件 项目五任务三 对某品牌新能源汽车销售人员业绩排序_第2页
C语言项目化教程(基于智能制造软件) 课件 项目五任务三 对某品牌新能源汽车销售人员业绩排序_第3页
C语言项目化教程(基于智能制造软件) 课件 项目五任务三 对某品牌新能源汽车销售人员业绩排序_第4页
C语言项目化教程(基于智能制造软件) 课件 项目五任务三 对某品牌新能源汽车销售人员业绩排序_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

C语言程序设计项目五汽车销售数据C语言程序设计项目三项目五汽车销售数据01显示某品牌新能源汽车一年的销售额(一维数组的输入与输出)02求某品牌新能源汽车一年的最高销售月(一维数组求最值)03对某品牌新能源汽车销售人员业绩排序(一维数组排序)04显示某车企的新能源汽车品牌(字符数组)05某车企多年销售统计(二维数组)引入:对于杂乱无章的数据,有时我们需要按照一定规律进行排列,我们本次课程就来研究这个问题。03知识储备C语言程序设计

(2)行进中的分叉路口任务目标

创建一个C语言程序,按非递减顺序显示某市海格新能源全天然气客车的月新增量(1-6月,每月新增量为60,54,50,70,36,51)。知识储备C语言程序设计

(2)行进中的分叉路口(1)树生长程中的分叉1.排序对于搜索大型数据库来说,对信息进行排序的算法是至关重要的。想象一下词典或电话号码本,用它们来查找信息都是相对容易和方便的,这是因为其中的信息按按字母表或词曲顺序排序了。排序是一种非常有助于解决问题的技术,因此如何有效的排序的问题本身是一个重要的研究领域。排序有多种方式,有冒泡排序、简单选择排序、直接插入排序等。知识储备C语言程序设计

(2)行进中的分叉路口(1)树生长程中的分叉2.冒泡排序这种方法可形象描述为:使较小的值象水中的气泡一样逐渐“上浮”到数组的顶部,而较大的值则逐渐“下沉”到数组的底部。这种技术要排序好几轮,每轮都要比较连续的数组元素对。如果某一对元素的值本身是升序排的,那就保持原样,否则交换其值。冒泡排序的基本思想是:从前向后依次比较相邻两个数的值,如果前者比后者大,那么这两个数交换,否则不交换,第一次排序结束,最大数“后沉”到最后一个。排序过程示例(设N=8):每趟只将方括号中的数据从左向右两两比较,让较大者不断“后沉”到方括号外。知识储备C语言程序设计

(2)行进中的分叉路口(1)树生长程中的分叉2.冒泡排序假设原始数据[4938659776132750]第一趟排序后[38496576132750]97第二趟排序后[384965132749]7697第三趟排序后[3849132750]657697第四趟排序后[38132749]50657697第五趟排序后[132738]4950657697第六趟排序后[1327]384950657697第七趟排序后[13]27384950657697最后排序结果1327384950657697读者可以看到第五趟排序结束后,其实已经得到我们最终所需的结果了,如果不对程序进行优化,计算机就一定会进行七趟排序,那么应该如何处理,请读者自行思考,也可查看相关资料。知识储备C语言程序设计

(2)行进中的分叉路口3.选择法排序选择法的基本思想是:用变量p来存放最大数所在的位置,若数组中有n个数,首先p中存放0,认为a[0]中数最大。然后把a[p]跟后面的a[1]比较,若a[1]比a[p]大,则p=1;否则p不变。接着a[p]跟后面的a[2]比较,若a[2]比a[p]大,则p=2;否则p不变。接着a[p]跟后面的a[3]比,a[4]比,……,与最后一个元素比较。这时p中存放的是所有元素中最大元素所在的位置。把a[0]中的数与a[p]中的数交换。a[0]中存放最大元素。再从余下的n-1个数中找最大的数与a[1]交换,重复直到排序结束。知识储备C语言程序设计

(2)行进中的分叉路口(假设原始数据[4938659776132750]第一趟排序后13[38659776492750]第二趟排序后1327[659776493850]第三趟排序后132738[9776496550]第四趟排序后13273849[76976550]第五趟排序后1327384950[976576]第六趟排序后132738495065[9776]第七趟排序后13273849506576[97]最后排序结果13273849506576973.选择法排序知识储备C语言程序设计

(2)行进中的分叉路口二、排序代码示例:键盘输入10个同学的C语言成绩,按从高到低显示每个同学的成绩。#include"stdio.h"#defineN10voidmain(){intgrade[N];inti,j,temp;for(i=0;i<N;i++)scanf("%d",&grade[i]);printf("排序前10位同学的成绩:\n");for(i=0;i<N;i++)printf("%d",grade[i]);printf("\n从高到低排序后10位同学的成绩:\n");for(i=0;i<N-1;i++)//冒泡排序{ for(j=0;j<N;j++)if(grade[j]<grade[j+1])//条件成立,相邻两个值进行交换{temp=grade[j];grade[j]=grade[j+1];grade[j+1]=temp;}}for(i=0;i<N;i++)printf("%d",grade[i]);}项目五任务三C语言程序设计

(1)树生长程中的分叉下表为海格某汽油小客车在不同时段的耗油量,编写程序将该小客车的不同时段耗油量从高到低进行排列。数据如表5-3-1所示:算法过程:1.定义数组,并赋初值2.排序3.输出典型案例1项目五任务二C语言程序设计

(1)树生长程中的分叉下表为海格某汽油小客车在不同时段的耗油量,编写程序将该小客车的不同时段耗油量从高到低进行排列。数据如表5-3-1所示:核心代码for(i=0;i<9;i++){ for(j=0;j<8-i;j++) { if(oilconsumption[j]<oilconsumption[j+1]) { temp=oilconsumption[j]; oilconsumption[j]=oilconsumption[j+1]; oilconsumption[j+1]=temp; } }

}典型案例1项目五任务二C语言程序设计

(2)行进中的分叉路口(1)树生长程中的分叉典型案例2已知某品牌4S店的一年12月的销售量分别为{10,12,15,14,16,8,7,14,16,17,11,12},将销售量从小到大排序。for(i=0;i<=10;i++)核心代码{ for(j=i+1;j<=11;j++) { if(sales[i]>sales[j]) { t=sales[j]; sales[j]=sales[i]; sales[i]=t; } }}项目五任务二C语言程序设计

(2)行进中的分叉路口(1)树生长程中的分叉任务分析与实践printf("排序前新增量:");for(i=0;i<N;i++)

printf("%d",V_number[i]);printf("\n");printf("排序后:"); for(i=0;i<N-1;i++) { p=i; for(j=i+1;j<N;j++) if(V_number[p]<V_number[j]) { p=j; } temp=V_number[p]; V_number[p]=V_number[i]; V_number[i]=temp; } for(i=0;i<N;i++) pri

温馨提示

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

评论

0/150

提交评论