| 
最后登录2016-6-16在线时间45 小时阅读权限20注册时间2012-7-21积分229帖子207精华0UID1317264兴趣爱好速度
 
 
 积分229帖子207精华0UID1317264兴趣爱好速度
 | 
|   我学习的语言是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) | 
 |