下面这道c语言的答案是不是错的啊 为什么j<=i 而不是j<=N

[复制链接]
查看11 | 回复3 | 2013-7-3 21:36:12 | 显示全部楼层 |阅读模式
如评析中所述,只要将A的行列数互换即可。对于外循环,当i=0时,此时j=0,对应于A的第一行第一列(数值为1),交换后等于本身。当i=1时,此时j=0或1。当j=0时,A的第二行第一列与第一行第二列交换(数值5与2交换),当j=1时,交换等于本身。以此类推,直至完成rotate。j<=i表明,只对一半的A做循环,也就是当循环遍历一半A时,就可以完成了rotate(另一半的A已经交换了)。而你认为j<=N,则会进行两次rotate,也就是结果仍旧是A...
回复

使用道具 举报

千问 | 2013-7-3 21:36:12 | 显示全部楼层
假如j<=N,那么就会转置两次,就会变成和原来一样...
回复

使用道具 举报

千问 | 2013-7-3 21:36:12 | 显示全部楼层
答案是对的,不需要循环N次...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行