C语言数组编程

Python035

C语言数组编程,第1张

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

#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

}

答:这段程序是有错误,else

if(score[i]>max)

min=score[i]是错了

应该为else

min=score[i]或者:else

if(score[i]<min)

min=score[i]

还有max=min=score[0]

for(i=1i<10i++)可不可以换成max=min=score[0]

for(i=0i<10i++)。

不可以,因为score[0]你还没有给初值

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

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

/*这里是将它们赋值

max=min=score[0]

for(i=1i<10i++)

数组是先给初值才能执行的

float

ave这个是多余的,因为没有涉及到求平均值

改后源程序如下:

main()

{int

i,score[10]

int

max,min

printf("请输入10个成绩:\n")

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

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

max=min=score[0]

for(i=1i<10i++)

if(score[i]>max)

max=score[i]

else

min=score[i]

printf("max=%d,min=%d\n",max,min)

}