作业问题,请帮忙! [英] homework question,help please!
问题描述
嗨伙计..
i不能竞争这个节目,为什么?
Q是:写一个程序,取5个学生的分数并显示平均值,我'我完成了这一部分:
..............
课程计划
{
struct st1
{
。
。
int i;
双倍金额,平均;
string st;
int n;
console.write(你有几个学生?);
st = console.readline();
n = convert.ToInt32(st);
st1 [] s = new st1 [n];
for(i = 0; i< n; i ++)>
{
console.write(student);
console.writeline(i + 1);
console.write(输入学生ID:);
st = console.readline();
s(i).ID = convert.ToInt32(st);
console.write(输入学生姓名:);
s(i).name = console.readline();
console.write(输入student score:);
st = console.readline();
s(i).number = convert.ToDouble(st);
}
sum = 0;
for(i = 0; i< n; i ++)>
sum + = a(i).score;
avg = sum / n;
console.write(average:);
console.writeline(avg);
console.readline();
}
.............
和Q的另一部分说完了这一切之后学生的信息根据从最大到最小的分数。
你可以帮助我完成这个,请... .. div class =h2_lin>解决方案
有一个(相对)简单的方法:你可以使用内置的Array.Sort方法。
创建一个Comparer方法:
private static int CompareEm(st1 s1,st1 s2)
{
return s2.number - s1.number;
}然后:
Array.Sort(st1,CompareEm);
BTW:使用非常短的变量名称是个坏主意,特别是使用与您声明的类相同的变量名称它作为。使用更长的名称:它使你的代码更具可读性,Intellisense帮助你输入它们,所以它真的如此快,如果不是更快!
这是OriginalGriff固体解决方案的一个细微变化,使用Lambda表示法,对于就地降序对象排序为Array [Object]:Array.Sort(学生,(student1,student2)=> student2.Score - student1.Score);
hi guys..
i cant compelete this program, why??
the Q is:write a program that take 5 students's score and display the average,i've done this part:
..............
class program { struct st1 { . . int i; double sum,avg; string st; int n; console.write("How many students do you have?"); st=console.readline(); n=convert.ToInt32(st); st1[] s=new st1[n]; for(i=0;i<n;i++)> { console.write("student "); console.writeline(i+1); console.write("enter student ID:"); st=console.readline(); s(i).ID=convert.ToInt32(st); console.write("enter student name:"); s(i).name=console.readline(); console.write("enter student score:"); st=console.readline(); s(i).number=convert.ToDouble(st); } sum=0; for(i=0;i<n;i++)> sum+=a(i).score; avg=sum/n; console.write("average:"); console.writeline(avg); console.readline(); } .............
and the other part of the Q says after all this sort the informations of the students according to scores from greatest to smallest.
can you help me to compelete this ,please..
There is a (relatively) simple way to do it: you can use the built in Array.Sort method.
Create a Comparer method:
private static int CompareEm(st1 s1, st1 s2) { return s2.number - s1.number; }And then:
Array.Sort(st1, CompareEm);
BTW: It's a poor idea to use very short variable names, and especially poor to use a variable name that is the same as the class you have declared it as. Use longer names: it makes your code a lot more readable, and Intellisense helps you type them so it really is as fast if not faster!
Here's a slight variation of OriginalGriff's solid solution, using Lambda notation, for an in-place-descending object sort of an Array[Object]:Array.Sort(Students, (student1, student2) => student2.Score - student1.Score);
这篇关于作业问题,请帮忙!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!