- 最后登录
- 2016-6-16
- 在线时间
- 45 小时
- 阅读权限
- 20
- 注册时间
- 2012-7-21
- 积分
- 229
- 帖子
- 207
- 精华
- 0
- UID
- 1317264
- 兴趣爱好
- 速度
- 积分
- 229
- 帖子
- 207
- 精华
- 0
- UID
- 1317264
- 兴趣爱好
- 速度
|
发表于 2013-7-25 15:39:50
|显示全部楼层
我学习的语言是C,学了一段时间之后觉得很想亲自编一个小程序,于是就有了这个叫做“成绩记录”
的东东.......
顺便把源代码放在这里:
#include "stdafx.h"
#define SIZE 300
int get_int (void);
float get_float (void);
int _tmain(int argc, _TCHAR* argv[])
{
float grades[SIZE],avg,sum,max,min,oldavg=0,oldmin=0,oldfc=0;
float fangcha;//原谅我吧...我真不知道方差的英文是什么....
float cha_nume;//方差的分子
int n ,index,num=1;
printf("请输入要训练的次数(输入不是数字将退出):");
while(scanf("%d",&n))
{
while(n<1||n>SIZE)
{
printf("输入的次数应当在1~%d之间。\n"
"请重新输入次数:",SIZE);
n=get_int();
}
while(getchar()!='\n')
;
for(index=0;index<n;++index)
{
printf(" 请输入第%d次的训练成绩:",index+1);
grades[index]=get_float();
while(grades[index]<=0)
{
printf("您输入的成绩应当为正数。\n"
" 请再次输入第%d次的成绩:",index+1);
grades[index]=get_float();
}
}
for(index=0,sum=0;index<n;index++)
sum+=grades[index];
avg=sum/(float)n;
for(index=0,cha_nume=0;index<(int)n;index++)
cha_nume=(avg-grades[index])*(avg-grades[index]);
fangcha=cha_nume/(float)n;
max=min=grades[0];
for(index=1;index<(float)n;index++)
{
if(max<grades[index])
max=grades[index];
if(min>grades[index])
min=grades[index];
}
printf("单次最快:%.2f\n"
"单次最慢:%.2f\n"
"平均:%.2f\n"
"方差:%.4f\n",
min,max,avg,fangcha);
if(oldavg!=0&&avg<oldavg)
printf("不错哦!平均成绩进步了%1.2f秒!\n",oldavg-avg);
else if(oldavg!=0&&avg>oldavg)
printf("要加油了哦!平均成绩退步了%1.2f秒。\n",avg-oldavg);
if(oldmin!=0&&min<oldmin)
printf("不错哦!刷新了最好记录!\n");
if(oldfc!=0&&oldfc<fangcha)
printf("不错哦!成绩更加稳定了一些!\n");
oldavg=avg;
oldmin=min;
oldfc=fangcha;
printf("\n请输入第%d次要训练的次数(输入不是数字将退出):",(num++)+1);
}
printf("谢谢使用!\n"
"制作:ZDH\n"
"版权没有,盗版不究^_^\n"
"\n按下回车退出\n"
);
getchar();
getchar();
getchar();
return 0;
}
int get_int (void)
{
int input;
while(!scanf("%d",&input))
{
while(getchar()!='\n')
continue;
printf("输入不正确。请输入一个整数:");
}
return input;
}
float get_float (void)
{
float input;
while(!scanf("%f",&input))
{
while(getchar()!='\n')
continue;
printf("输入不正确。请输入一个小数:");
}
return input;
}
如果有什么不好的地方或者可以改进之处,还请大家一定指出来,不要欺负我这个编程菜鸟哦~
成绩记录.rar
(8.14 KB, 下载次数: 21)
|
|