请问C语言的数组编程问题?

Python020

请问C语言的数组编程问题?,第1张

C语言代码和运行结果如下:

根据提供的输入数据,4号选手刘嘉玲的平均分79明显是最高的,不应被淘汰

最低分应为5号选手梁朝伟的59分,所以图中输出与示例不一致

但结果应该没错,确实输出了最低分选手的相关信息,望采纳~

附源码:

#include <stdio.h>

#define N 5

int main() {

int no[N], score[N][4], i, j, sum, k = 0

char name[N][50]

for (i = 0i <Ni++)

scanf("%d", &no[i])

for (i = 0i <Ni++)

scanf("%s", name[i])

for (i = 0i <Ni++) {

sum = 0// 记录每名选手总成绩并求平均分

for (j = 0j <3j++) {

scanf("%d", &score[i][j])

sum += score[i][j]

}

score[i][3] = sum / 3

if (score[i][3] <score[k][3])

k = i// 记录平均分最低的选手下标

}

printf("被淘汰的选手信息为:\n最低分为:%d 编号为:%d 姓名为:%s\n", score[k][3], no[k], name[k])

return 0

}

打印输出这种的效果,不对的话再微调修改下:

#include <stdio.h>

#include <stdlib.h>

int main()

{

int i = 0//存放行

int j = 0//存放列

double sum//存放对角线数据和

//定义一个整型二维数组array并初始化

int array[5][5] = {

{1,2,3,4,5},

{6,7,8,9,10},

{11,12,13,14,15},

{16,17,18,19,20},

{21,22,23,24,25},}

//以5x5的矩阵形式输出数组

for(i=0i<5i++)

{

for(j=0j<5j++)

{

//            printf("第%d行第%d列元素是:%4d\t",i+1,j+1,array[i][j])

printf("%4d",array[i][j])//打印输出矩阵数组

if(j==4)

{

printf("\n")

}

if(i == j || 4-i == 4-j)    //计算对角线之和

{

sum += array[i][j]

sum += array[4-i][4-j]

}

}

}

printf("\n对角线之和是:%4.lf\n",sum)

return 0

}