发布网友 发布时间:2023-05-07 03:29
共3个回答
热心网友 时间:2023-11-29 01:10
你交换函数cover,迭代时重复了,交换2次,又换回来了。比如 i取0 j取1 和 i取1 j取0这两个重复交换就不变了= =。
所以你cover函数里的迭代改成:
int i,j,t;
热心网友 时间:2023-11-29 01:11
请作如下修改:
热心网友 时间:2023-11-29 01:11
cover函数把这个数组全遍历的一遍,等于交换了两次,本来第一遍就交换好了,第二遍又交换了回去
只需要遍历数字右上角三角形区域的元素一遍,即将第二个for改为
for(j=0;j<3/2;j++)
热心网友 时间:2023-11-29 01:10
你交换函数cover,迭代时重复了,交换2次,又换回来了。比如 i取0 j取1 和 i取1 j取0这两个重复交换就不变了= =。
所以你cover函数里的迭代改成:
int i,j,t;
热心网友 时间:2023-11-29 01:11
请作如下修改:
热心网友 时间:2023-11-29 01:11
cover函数把这个数组全遍历的一遍,等于交换了两次,本来第一遍就交换好了,第二遍又交换了回去
只需要遍历数字右上角三角形区域的元素一遍,即将第二个for改为
for(j=0;j<3/2;j++)
热心网友 时间:2023-11-29 01:10
你交换函数cover,迭代时重复了,交换2次,又换回来了。比如 i取0 j取1 和 i取1 j取0这两个重复交换就不变了= =。
所以你cover函数里的迭代改成:
int i,j,t;
热心网友 时间:2023-11-29 01:11
请作如下修改:
热心网友 时间:2023-11-29 01:11
cover函数把这个数组全遍历的一遍,等于交换了两次,本来第一遍就交换好了,第二遍又交换了回去
只需要遍历数字右上角三角形区域的元素一遍,即将第二个for改为
for(j=0;j<3/2;j++)