int[] score = new int[10]; string[] m = { };
int i, a, b, c, d, e;
a = b = c = d = e = 0;
double t = 0, max, min, r;
ConsoleWriteLine("请输入20名学生的成绩 以回车符区分");
for (i = 0; i < 10; i++)
{
int inputScore = 0;
if (!intTryParse(ConsoleReadLine(), out inputScore))
{
ConsoleWriteLine("请输入数字类型成绩");
i--;
}
score[i] = inputScore;
}
for (i = 0; i < 10; i++)
{
switch (score[i] / 10)
{
case 10:
case 9: a++; break;
case 8: b++; break;
case 7: c++; break;
case 6: d++; break;
default: e++;
break;
}
}
max = score[0];
min = score[0];
for (i = 0; i < 10; i++)
{
t += score[i];
if (score[i] > max) max = score[i];
if (score[i] < min) min = score[i];
}
r = t / 10;
ConsoleWriteLine("平均分为:{0}", r);
ConsoleWriteLine("最高分为:{0}", max);
ConsoleWriteLine("最低分为:{0}", min);
ConsoleWriteLine("得优人数 :{0}", a);
ConsoleWriteLine("得良人数 : {0}", b);
ConsoleWriteLine("得好人数 :{0}", c);
ConsoleWriteLine("及格人数 :{0}", d);
ConsoleWriteLine("不及格人数 :{0}", e);
ConsoleReadLine();
你的疑惑应该是:
1·分数怎么表示出来,可惜数据类型没有分数。
2·加减乘除怎么办,既然都没有这个数据类型,当然没有相关的数据 *** 作方式。
我给你提供一个思路:
没有数据类型,你可以自己造一个:定义一个结构体,存储两个变量,一个就是分子,一个就是分母。当然你应该有判断机制保证分母不能为零。
加减乘除,这当然你用符号代替了,只是做switch()就搞定,当然,分数的加减乘除规则别乱搞就是了,严格安装分数运算规则编程,然后把结果储存一下。
至于实现多个分数连续运算,你只需写好实现两个分数之间的运算,多个也不过是重复调用它而已。
到这里,思想基本就这么了。
如果你还很怀疑:我是这么做的,可这分数还是无法在显示器上输出啊?别急,你只需要输出这样:“%d/%d”,然后你应该会有所领悟。
如果对小数转化成分数有兴趣,可以在这个基础上研究一下。
程序设计题程序如果没问题,运行结果也对,那必然是满分了。
如果在程序没完成或者有错误的情况下,一般按如下算分:
1、给出解题的思路和方法,也就是汉字描述大概什么思路,就会给一点分。
2、写了一点程序代码并且在关键的地方有注释,也会给分。
3、如果完成了关键性的函数或者语句,给的分会更多一点。
也就是说,只要你写了,而且有关,就有分,不会一分不给的。
看看这个能不能满足你的要求:
#include"stdioh"
void main()
{float a[12][7],b[12],t;
int i,j,k;
float avr(float (x)[7]);
void arry(float px[]);
printf("评委请打分:\n");/按选手编号打分,如,一号选手得分,分别有7个评委打分,然后是二号选手;/
for(i=0;i<12;i++)
{ for(j=0;j<7;j++)
scanf("%d",&a[i][j]);
b[i]=avr(a+i); /计算每个选手的平均成绩/
printf("%d号选手最终得分:%d\n",i+1,b[i]);
}
for(i=11;i>=0;i--)
{k=i;
for(j=i;j<12;j++)
{if(b[j]<b[k])
k=j;
}
if(b[k]!=b[i])
{t=b[i];b[i]=b[k];b[k]=t;}
}
for(i=0;i<12;i++)
{switch(i)
{case 0: printf("一等奖的获得者是:%d\n",i+1);break;
case 1: printf("二等奖的获得者是:%d号选手\n",i+1);break;
case 2: printf("二等奖的获得者是:%d号选手\n",i+1);break;
case 3: printf("三等奖的获得者是:%d号选手\n",i+1);break;
case 4: printf("三等奖的获得者是:%d号选手\n",i+1);break;
case 5: printf("三等奖的获得者是:%d号选手\n",i+1);break;
case 6: printf("三等奖的获得者是:%d号选手\n",i+1);break;
default: break;
}
}
}
float avr(float (x)[7])
{int i,m,n,t,j,k;
float sum=0;
for(i=0;i<7;i++)
{m=(x)[0];
n=(x)[0];
if((x)[i]>m)
j=i;
if((x)[i]<n)
k=i;
}
{t=(x)[6];(x)[6]=(x)[j];(x)[j]=t;}
{t=(x)[5];(x)[5]=(x)[k];(x)[k]=t;}
for(i=0;i<5;i++)
sum+=(x)[i];
return sum/5;
}
给个简单的程序你
#include
#include
typedef
struct
Fraction
{
int
m;
//分子
unsigned
int
d;
//分母
}F;
F
Addition(F
a,F
b);
//加法
F
Subtraction(F
a,F
b);
//减法
F
Multiplication(F
a,F
b);
//乘法
F
Division(F
a,F
b);
//除法
int
Getm(int
u,unsigned
int
v);//最大公约数
void
Output(F
c);//显示
void
main()
{
F
a,b,c;
am=-2;
ad=5;
bm=3;
bd=7;
c=Addition(a,b);
Output(c);printf("\n");
c=Subtraction(a,b);
Output(c);printf("\n");
c=Multiplication(a,b);
Output(c);printf("\n");
c=Division(a,b);
Output(c);printf("\n");
}
F
Addition(F
a,F
b)
{
F
c;
int
t,t1;
unsigned
int
t2;
t1=ambd+adbm;t2=adbd;
t=Getm(abs(t1),t2);
cm=t1/t;
cd=t2/t;
return
c;
}
F
Subtraction(F
a,F
b)
{
F
c;
cm=-bm;
cd=bd;
return
Addition(a,c);
}
F
Multiplication(F
a,F
b)
{
F
c;
int
t,t1;
unsigned
int
t2;
t1=ambm;t2=adbd;
t=Getm(abs(t1),t2);
cm=t1/t;
cd=t2/t;
return
c;
}
F
Division(F
a,F
b)
{
F
c;
cm=int(bd);
cd=unsigned
int(bm);
if(bm<0)
cm=-cm;
return
Multiplication(a,c);
}
int
Getm(int
m,unsigned
int
d)
{
int
t;
while(d!=0)
{
t=m%d;
m=d;
d=t;
}
return
m;
}
void
Output(F
c)
{
printf("%d",cm);
if(cd!=1)
printf("/%d",cd);
}
微信小程序中的计分器是计算分数的。根据查询相关公开信息,微信小程序中的计分器是一款为亲朋好友线下聚会娱乐、棋牌游戏等娱乐项目提供的好友计分器小程序,方便好友玩家记录对账,一键计分,方便快捷。
以上就是关于c#编写一个学生成绩计算程序,统计出一个班学生的某门课程各分数段的人数(分数段:90分以上,80-90,70-80,全部的内容,包括:c#编写一个学生成绩计算程序,统计出一个班学生的某门课程各分数段的人数(分数段:90分以上,80-90,70-80,、设计程序实现分数的运算、c语言二级测试最后一道程序设计题如何算分会不会给过程分还是只要算不出结果就一分不给等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)