设为首页 加入收藏

TOP

问题六十一: 在数组score中将要存储某小组C++程序设计的成绩. (一)
2014-11-23 22:30:23 来源: 作者: 【 】 浏览:6
Tags:问题 六十一 score 将要 存储 小组 程序设计 成绩

[plain]
/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* All rights reserved.
* 文件名称: txt.c
* 作 者: liuyongshui
* 问 题: 在数组score中将要存储某小组C++程序设计的成绩.
* 问题来源:
* 完成日期: 2013 年4 月18日
* 版 本 号: V1.0
*/
#include
#include

float total(float grade[], int num);
float average(float sum, int num);
float deviation(float grade[], float ave, int num); //求偏差
void max_min(float grade[], int num);


int main()
{
int i;
int num;
float sum;
float ave;
float dev; //偏差
float grade[100];

printf("您班上有人?嘻嘻嘻共有:");

scanf("%d", &num);
printf("\n");

for(i=0; i {
printf("输入第%2d位同学的成绩(按EENTER进入):", i);
scanf("%f", &grade[i]);
}

sum= total(grade, num);
printf("\n总成绩为:%0.2f\n", sum);

ave= average(sum, num);
printf("\n平均分为:%0.2f\n", ave);

dev= deviation(grade, ave, num);
printf("\n偏差为:%0.2f\n\n", dev);

max_min(grade, num);

return 0;
}


//sum()函数声明

float total(float grade[], int num) //求总分
{
int i;
float sum=0.0;

for(i=0; i {
sum+=grade[i];
}

return sum;
}
//average()函数声明
float average(float sum, int num) //求平均分
{
float ave;

ave=sum/num;

return ave;
}
//deviation()函数声明
float deviation(float grade[], float ave, int num) //求偏差
{
int i;
float s=0.0;
float dev;

for(i=0; i {
s=s+(grade[i]-ave)*(grade[i]-ave);
}

dev=sqrt(s/(num-1));

return dev;
}

//max_min()函数声明
void max_min(float grade[], int num)
{
int i;
int j=0;
int l=0;
int max_num[100];
int min_num[100];
float max;
float min;

max=min=grade[0];

for(i=0; i {
if(max< grade[i])
{
max= grade[i]; //求最大值
}
if(min> grade[i])
{
min= grade[i]; //求最小值
}
}

for(i=0; i {
if(max== grade[i])
{
max_num[j++]=i; //记录最最大值的学号
}
if(min== grade[i])
{
min_num[l++]=i; //记录最最小值的学号
}
}

printf("最高分为:%0.2f\n", max);
printf("最高分的学号有:");
for(i=0; i {
printf("%d", max_num[i]);
if(i {
printf(",");
}
}
printf("\n\n");

printf("最低分为:%0.2f\n", min);
printf("最低分的学号有:");
for(i=0; i {
printf("%d", min_num[i]);
if(i {
printf(",");
}
}
printf("\n");
}

/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* All rights reserved.
* 文件名称: txt.c
* 作 者: liuyongshui
* 问 题: 在数组score中将要存储某小组C++程序设计的成绩.
* 问题来源:
* 完成日期: 2013 年4 月18日
* 版 本 号: V1.0
*/
#include
#include

float total(float grade[], int num);
float average(float sum, int num);
float deviation(float grade[], float ave, int num); //求偏差
void max_min(float grade[], int num);


int main()
{
int i;
int num;
float sum;
float ave;
float dev; //偏差
float grade[100];

printf("您班上有人?嘻嘻嘻共有:");

scanf("%d", &num);
printf("\n");

for(i=0; i {
printf("输入第%2d位同学的成绩(按EENTER进入):", i);
scanf("%f", &grade[i]);
}

sum= total(grade, num);
printf("\n总成绩为:%0.2f\n", sum);

ave= average(sum, num);
printf("\n平均分为:%0.2f\n", ave);

dev= deviation(grade, ave

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇问题五十九: 创建一个长度为20的.. 下一篇问题六十: 用筛法求10000内的素数..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: