问题六十一: 在数组score中将要存储某小组C++程序设计的成绩.
[plain]
/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* All rights reserved.
* 文件名称: txt.c
* 作 者: liuyongshui
* 问 题: 在数组score中将要存储某小组C++程序设计的成绩.
* 问题来源:
* 完成日期: 2013 年4 月18日
* 版 本 号: V1.0
*/
#include <stdio.h>
#include <math.h>
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<num; 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<num; 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<num; 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<num; i++)
{
if(max< grade[i])
{
max= grade[i]; //求最大值
}
if(min> grade[i])
{
min= grade[i]; //求最小值
}
}
for(i=0; i<num; 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<j; i++)
{
printf("%d", max_num[i]);
if(i<j-1) //i<j-1是打印逗号,反之不打印
{
printf(",");
}
}
printf("\n\n");
printf("最低分为:%0.2f\n", min);
printf("最低分的学号有:");
for(i=0; i<l; i++)
{
printf("%d", min_num[i]);
if(i<l-1) //i<l-1是打印逗号,反之不打印
{
printf(",");
}
}
printf("\n");
}
/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* All rights reserved.
* 文件名称: txt.c
* 作 者: liuyongshui 补充:软件开发 , C语言 ,