c语言程序问题,看不懂求解说(主要是双斜杠那两行看不懂)
答案:3 悬赏:70 手机版
解决时间 2021-03-31 10:09
- 提问者网友:浩歌待明月
- 2021-03-30 22:45
c语言程序问题,看不懂求解说(主要是双斜杠那两行看不懂)
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-03-31 00:11
#include
void main ()
{
int i,j,k;
float a[5][5]={{78,79,90,67},{60,76,89,63},
{86,75,96,56},{54,63,86,96}, {63,96,98,97}};//有五组数字,都缺少最后一个元素,初始化为0
float sum,t;
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
printf("%12f",a[i][j]); //输出这些数
printf("\n"); }
for(i=0;i<5;i++) //把每一组的数总数算出,存放到该数组的第5个元素里
{ sum=0;
for(j=0;j<4;j++)
sum=sum+a[i][j];
a[i][4]=sum/4;
}
for(k=0;k<4;k++) //其实这是一个冒泡法排序,可以看成固定的格式
for(i=0;i<4-k;i++)
if(a[i][4] 总和就是开始算出的sum存放到每一组数据的最后一个数,所以a[i][4]就等于
a[i][0]+a[i][1]+a[i][2]+a[i][3]了
// for(j=0;j<5;j++) //这两行是把一组数据完全和另一组对应交换,前面发现顺序和期望的不同
// {t=a[i][j];a[i][j]=a[i+1][j];a[i+1][j]=t;}
for(i=0;i<5;i++) //后面是输出了
{ for(j=0;j<5;j++)
printf("%12f",a[i][j]);
printf("\n");
}
}
void main ()
{
int i,j,k;
float a[5][5]={{78,79,90,67},{60,76,89,63},
{86,75,96,56},{54,63,86,96}, {63,96,98,97}};//有五组数字,都缺少最后一个元素,初始化为0
float sum,t;
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
printf("%12f",a[i][j]); //输出这些数
printf("\n"); }
for(i=0;i<5;i++) //把每一组的数总数算出,存放到该数组的第5个元素里
{ sum=0;
for(j=0;j<4;j++)
sum=sum+a[i][j];
a[i][4]=sum/4;
}
for(k=0;k<4;k++) //其实这是一个冒泡法排序,可以看成固定的格式
for(i=0;i<4-k;i++)
if(a[i][4] 总和就是开始算出的sum存放到每一组数据的最后一个数,所以a[i][4]就等于
a[i][0]+a[i][1]+a[i][2]+a[i][3]了
// for(j=0;j<5;j++) //这两行是把一组数据完全和另一组对应交换,前面发现顺序和期望的不同
// {t=a[i][j];a[i][j]=a[i+1][j];a[i+1][j]=t;}
for(i=0;i<5;i++) //后面是输出了
{ for(j=0;j<5;j++)
printf("%12f",a[i][j]);
printf("\n");
}
}
全部回答
- 1楼网友:玩世
- 2021-03-31 02:21
呵呵、、程序本身 就有问题、、、
- 2楼网友:行雁书
- 2021-03-31 01:23
这不是你写的吗?
第五列是平均分,这两行是按第五列从高到低来排序的。
for(k=0;k<4;k++)
for(i=0;i<4-k;i++)
这两个循环每完成一次内循环就把平均分最低的那个话到最后
如果前个平均分小于后一个平均分,执行下面
// for(j=0;j<5;j++)
// {t=a[i][j];a[i][j]=a[i+1][j];a[i+1][j]=t;}
这两行是完成排序交换的,用t来作中间变量,把第j行与第j+1行交换
程序没问题,只是写得有点那个,建议用b数组来存平均分,用快速排序法来排序,简捷明了。
第五列是平均分,这两行是按第五列从高到低来排序的。
for(k=0;k<4;k++)
for(i=0;i<4-k;i++)
这两个循环每完成一次内循环就把平均分最低的那个话到最后
如果前个平均分小于后一个平均分,执行下面
// for(j=0;j<5;j++)
// {t=a[i][j];a[i][j]=a[i+1][j];a[i+1][j]=t;}
这两行是完成排序交换的,用t来作中间变量,把第j行与第j+1行交换
程序没问题,只是写得有点那个,建议用b数组来存平均分,用快速排序法来排序,简捷明了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯