刚学了几个月编程,自己做了一个小程序,希望大家来捧捧场哈~
我学习的语言是C,学了一段时间之后觉得很想亲自编一个小程序,于是就有了这个叫做“成绩记录”
的东东.......
顺便把源代码放在这里:
#include "stdafx.h"
#define SIZE 300
int get_int (void);
float get_float (void);
int _tmain(int argc, _TCHAR* argv[])
{
float grades,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=get_float();
while(grades<=0)
{
printf("您输入的成绩应当为正数。\n"
" 请再次输入第%d次的成绩:",index+1);
grades=get_float();
}
}
for(index=0,sum=0;index<n;index++)
sum+=grades;
avg=sum/(float)n;
for(index=0,cha_nume=0;index<(int)n;index++)
cha_nume=(avg-grades)*(avg-grades);
fangcha=cha_nume/(float)n;
max=min=grades;
for(index=1;index<(float)n;index++)
{
if(max<grades)
max=grades;
if(min>grades)
min=grades;
}
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;
}
如果有什么不好的地方或者可以改进之处,还请大家一定指出来,不要欺负我这个编程菜鸟哦~
支持一下!!! 不会的路过 vc++2005的运行库? 啊哈!我也刚学C++ 支持支持。。 好高深的样子,只会basic路过 是不错,就是没有好看的外观。。 楼主大几呢 什么专业 额,我是pascal