Console.Write("请输入本班学生总数:");
int count = Convert.ToInt32(Console.ReadLine());
int[,] chengji = new int[count, 4];
for (int i=0;i<count;i++)
{
Console.WriteLine("请输入第{0}个学生编号:", i + 1);
chengji[i, 0] = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入语文成绩:");
chengji[i, 1] = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入数学成绩:");
chengji[i, 2] = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入英语成绩:");
chengji[i, 3] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("学生成绩如下:");
Console.WriteLine("学生编号\t语文成绩\t数学成绩\t英语成绩\t平均成绩\t总成绩");
for(int i=0;i<chengji.GetLength(0);i++)
{
double sum=0, ave = 0;
for (int j=0;j<chengji.GetLength(1);j++)
{
Console.Write(chengji[i, j] + "\t"); // Console.Write(chengji[i, j] + "\t\t");
if (j > 0)//取j>0的原因是每行第一个都不是成绩而是学生编号
{
sum += chengji[i, j];
}
}
ave = sum / 3;
Console.Write(String.Format("{0:F2}", ave) + "\t" + sum + "\n");
//Console.Write(String.Format("{0:F2}", ave) + "\t\t" + sum + "\n");
}
为什么后面的输出语句得写两个\t?不然制成的表就不能对齐