本程序在VS中编译完成,若在其它软件中使用,可对本程序自行修改
完整题目:
将三个学生、四门课程的的成绩分别存放在4*5数组的前3*4行列,计算出每个学生的总成绩存放在该数组的最后一列对应行上,计算出单科成绩的平均分存放在最后一行对应的列上。如下表蓝色区域部分:
C语言 | 高数 | 英语 | 思政 | 总成绩 | |
李明 | 85 | 80 | 88 | 86 | |
张林 | 75 | 75 | 80 | 80 | |
王丽 | 95 | 85 | 70 | 70 | |
平均成绩 |
要求:
1.数组类型定义为实型,成绩由scanf函数录入;
2.输出原始数据(3*4行列);
3.计算出每个学生的总成绩和每门课程的平均成绩,并按要求填入数组中,输出结果数组(4*5行列)
源程序:
#include<stdio.h>
int main()
{
float a[4][5];
int i, j,b;
b = 0;
for (i = 0; i < 3; i++)
{
printf("请依次输入第%d个学生的C语言、高数、英语和思政成绩\n", i + 1);
for (j = 0; j < 4; j++)
{
scanf_s("%f", &a[i][j]);
}
}
printf("原数组为:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
printf("%f\t", a[i][j]);
if (j == 3)
{
printf("\n");
}
}
}
printf("求值后的数组为:\n");
for (i = 0; i < 3; i++)
a[i][4] = a[i][0] + a[i][1] + a[i][2] + a[i][3];
for (j = 0; j < 5; j++)
a[3][j] =( a[1][j] + a[2][j] + a[0][j])/3;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 5; j++)
{
printf("%f\t", a[i][j]);
if (j == 4)
{
printf("\n");
}
}
}
return 0;
}
#include<stdio.h>
int main()
{
float a[4][5];
int i, j,b;
b = 0;
for (i = 0; i < 3; i++)
{
printf("请依次输入第%d个学生的C语言、高数、英语和思政成绩\n", i + 1);
for (j = 0; j < 4; j++)
{
scanf_s("%f", &a[i][j]);
}
}
printf("原数组为:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
printf("%f\t", a[i][j]);
if (j == 3)
{
printf("\n");
}
}
}
printf("求值后的数组为:\n");
for (i = 0; i < 3; i++)
a[i][4] = a[i][0] + a[i][1] + a[i][2] + a[i][3];
for (j = 0; j < 5; j++)
a[3][j] =( a[1][j] + a[2][j] + a[0][j])/3;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 5; j++)
{
printf("%f\t", a[i][j]);
if (j == 4)
{
printf("\n");
}
}
}
return 0;
}
实验结果: