题目:一个班6个人,从键盘输入每个学号语文,数学,外语成绩(不需输入学号)。
输出:学生成绩表(包括每个人的总分),每科的平均分。
附加1:试着,把不及格的用红字显示。附加2:试着按照总分排序,显示名次出来。static void Main(string[] args)
{ int[,] a = new int[6, 5]; for (int i = 0; i < 6; i++) { a[i, 0] = i + 1; Console.Write("请输入第" + (i + 1) + "名学生的语文成绩:"); a[i, 1] = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入第" + (i + 1) + "名学生的数学成绩:"); a[i, 2] = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入第" + (i + 1) + "名学生的英语成绩:"); a[i, 3] = Convert.ToInt32(Console.ReadLine()); a[i, 4] = a[i, 1] + a[i, 2] + a[i, 3]; Console.Clear(); } for (int i = 1; i < 6; i++) { for (int j = 1; j < 7 - i; j++) { if (a[j, 4] > a[j - 1, 4]) { int min = 0; min = a[j, 4]; a[j, 4] = a[j - 1, 4]; a[j - 1, 4] = min;int xuehao = 0;
xuehao = a[j, 0]; a[j, 0] = a[j - 1, 0]; a[j - 1, 0] = xuehao;int yuwen = 0;
yuwen = a[j, 1]; a[j, 1] = a[j - 1, 1]; a[j - 1, 1] = yuwen;int shuxue = 0;
shuxue = a[j, 2]; a[j, 2] = a[j - 1, 2]; a[j - 1, 2] = shuxue;int yingyu = 0;
yingyu = a[j, 3]; a[j, 3] = a[j - 1, 3]; a[j - 1, 3] = yingyu; } } } Console.WriteLine("学号\t语文\t数学\t英语\t总分\t名次"); for (int n = 0; n < 6; n++) { for (int m = 0; m < 5; m++) { if (a[n, m] < 60&&m>0&&m<4) { Console.ForegroundColor = ConsoleColor.Red; } Console.Write(a[n, m] + "\t"); Console.ForegroundColor = ConsoleColor.Gray; } Console.Write((n+1)+"\n"); } double yw = 0, sx = 0, yy = 0; for (int k = 0; k < 6; k++) { yw = yw + a[k, 1]; sx = sx + a[k, 2]; yy = yy + a[k, 3]; } yw = yw / 6; sx = sx / 6; yy = yy / 6; yw = Convert.ToDouble(yw.ToString("#.00")); sx = Convert.ToDouble(sx.ToString("#.00")); yy = Convert.ToDouble(yy.ToString("#.00")); Console.WriteLine("平均分\t" + yw + "\t" + sx + "\t" + yy + "\t"); }其中注意的问题:
1.首先进行题目分析,整个过程可以分为以下几个部分:
a、输入成绩 b、冒泡排序 c、输出表格 d、改变字体颜色 e、求平均分
2.进行冒泡排序时要注意将前边所有的顺序进行排列
3.改变字体颜色时需要单独输出,且输出一个后再将颜色改回来