- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有序数据编程实验报告
程序设计与问题求解课程
------实验报告书
学号:1200370203
姓名:郭秀艳
实验四 有序数据的编程
一、实验目的
1.掌握数组的定义、赋值和输入输出方法
2.学习使用有序数据实现排序等相关算法
二、实验内容和步骤
1.编写程序,
输入一个正整数(1 Ν ≤ 10 ),再输入 N 个整数(存入数组 a 中),输出
a 中的最大值,最小值及平均值(保留两位小数),最后排序后输出。
注释:这里要定义数组中的元素个数至少为 10 个,即int a[10];
2.餐饮服务质量调查打分
在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例
如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况。
如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式
表示,将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务
打分为例,练习这方面的程序编写方法。假设有 40 个学生被邀请来给自助餐厅的食品和服
务质量打分,分数划分为 1~10 这 10 个等级(1 表示最低分,10 表示最高分),试统计调
查结果,并用*打印出如下形式的统计结果直方图。
Grade Count Histogram
1 5 *****
2 10 **********
3 7 *******
...
提示:
– 定义数组 score 存放打的分数
– 定义数组count 为计数器(count[0]不用)
– 计算统计结果:设置一个循环,依次检查数组元素值 score[i],是 1则将数组元素count[1]
加1,是 2则将数组元素count[2]加 1,依此类推
for (i=0; iSTUDENTS; i++)
{
count[score[i]] ++;
}
– 打印统计结果,设置一个循环,按count 数组元素的值,打印相应个数的符号’*’
提示:输入 40个数据太多,进行测试的时候,可以让计算机生成随机数代替手工输入数据。 三、实验的代码与执行结果
1、代码
LAB4.h
#ifndef LABFOUR_H
#define LABFOUR_H
const int STUDENTS=40;/*学生个数*/
const int SCORE=11;/*分数等级*/
void numberCompute();/*第一个问题的编程函数*/
void Mark();/*第二个问题的主要函数*/
void printfhistogram(int a);/*画直方图函数*/
#endif
NumberCompute.cpp
#include lab4.h
#include stdlib.h
#include stdio.h
void numberCompute()
{
int i=0,num;
int max,min,sum,countt=1,tepm;/*因为在进入循环之前已经为数组输入一个元素了,所以要赋初值为1,否则数组个数会少1*/
float ave;
int a[20];
printf(请输入整数(最多能输入20个,-1结束输入):\n);
scanf_s(%d,num);
while (num!=-1)/*当输入-1时结束输入*/
{
a[i]=num;
i++;
scanf_s(%d,num);
countt++;/*在最后结束输入的时候,输入-1时也会加1*/
if (countt==20)
{
printf(你已经输了20个数字!\n);
}
}
printf(你输入了%d个数组元素!\n,i);/*在这之前,i表示数组下标*/
max=a[0];
min=a[0];
sum=a[0];
for(i=0;icountt-1;i++)/*在这之后,i不再表示数组下标,求最大值*/
if (maxa[i])
max=a[i];
for(i=0;icountt-1;i++)/*求最小值*/
if (mina[i])
min=a[i];
for(i=0;icountt-1;i++)/*求数组元素的总和*/
sum=sum+a[i];
ave=(float)sum/(countt-1);/*求平均值*/
printf(最大值是:%d\n,max);
printf(最小值是:%d\n,min);
printf(平均值是:%.2f\n,ave);/*输出结果,使用精度为2*/
printf(该数组为:\n);
for(i=0;icountt-1;i++)
printf(
文档评论(0)