每日编程中遇到任何疑问、意见、建议请公众号留言或加入每日编程群聊739635399
输入学生信息,包括姓名学号三个成绩,计算总成绩按照总成绩排序输出所有数据,包括总成绩。
输入格式:
依次输入学生的总数、学号、姓名(不含空格)、成绩(科目一、二、三)。
输出格式:
根据学生的总成绩排名,将学生的所有信息输出。
输入样例:
3
小明
001
50
60
70
小花
002
60
70
80
小强
003
80
90
100
输出样例:
小明 001 50 60 70 180
小花 002 60 70 80 210
小强 003 80 90 100 270
解决方法:
(1)代码实现:
#include
#include
int main()
{
int x;
printf("请输入学生总数:\n");
scanf("%d", &x);
char a[x][5][100];
int b[x];
int i = 0, j = 0;
printf("请输入学生信息: \n\n");
for (i = 0; i {
for (j = 0; j 5; ++j)
{
if (j == 0)
{
printf("\n请输入第 %d 个学生的名字:\n", i + 1);
scanf("%s", a[i][j]);
}
if (j == 1)
{
printf("\n请输入第 %d 个学生的学号\n", i + 1);
scanf("%s", a[i][j]);
}
if (j == 2)
{
printf("\n请输入第 %d 个学生的第一科成绩\n", i + 1);
scanf("%s", a[i][j]);
}
if (j == 3)
{
printf("\n请输入第 %d 个学生的第二科成绩\n", i + 1);
scanf("%s", a[i][j]);
}
if (j == 4)
{
printf("\n请输入第 %d 个学生的第三科成绩\n", i + 1);
scanf("%s", a[i][j]);
}
}
}
for (i = 0; i {
b[i] = atoi(a[i][2]) + atoi(a[i][3]) + atoi(a[i][4]);
printf("%d ", b[i]);
}
int c[x];
for (i = 0; i {
c[i] = i;
}
int temp, k;
for (i = 0; i {
k = i;
for (j = i + 1; j {