c语言中 将数组列换行 行换列

 我来答
大别山的蜗牛
高粉答主

2016-01-23 · 一只互联网搬运的蜗牛
大别山的蜗牛
采纳数:6927 获赞数:12024

向TA提问 私信TA
展开全部
1、如果是二维数组,将就可按行输出就行:
for(i=0;i<3;i++) //按每一行输出,每循环一次输出一行
{ for(j=0;j<3;j++) //输出每一行中的每一列
printf("%3d",a[i][j]);
printf("\n"); //每输出一行,输出一个换行符
}

2、如果是一维数组,可按每行输出的数的个数来控制:
for(i=0;i<9;i++)
{ printf("%3d",a[i]); //a为一维数组
if((i+1)%3==0) printf("\n"); //每行输出三个数,因为数组的下标i从0开始,所以先加个1再除3取余数
}
mayihuyi
2008-07-09 · TA获得超过375个赞
知道答主
回答量:341
采纳率:0%
帮助的人:275万
展开全部
for(i=1;i<n;i++)
for(j=0;j<n;j++)
{
if(j<i)
{
k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;
}
if(j>=i) break;
}

n为数组的行数和列数,此代码只能判断行列数一样(可以理解为矩形数组吧),如果不一样会产生未知错误,C语言是不会检查数组边界的哦!如果用楼上的方法自己画一画就会知道转来转去的,n为奇数或偶数时只有一个是正确的输出结果!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
conanwj1980
2008-07-09 · TA获得超过438个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:93.1万
展开全部
如果是我遇到这种问题,我不对原数组做任何操作,
而是用一个函数来实现转置后的操作,
假设原数组为a[m][n];
converse函数返回a[row][col]对应转置位置的元素a[col][row]。
int converse(int pArray[][n],unsigned int row, unsigned int col)
{
if (row>m-1||col>n-1)
{
printf ("下标错误!\n");
return 0;
}
int a=*(*(pArray+col)+row);
return a;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Laker_Fox
2008-07-08
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
if(i!=j)
{
k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;
}
自己加循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
scsnxuyuan
2008-07-08 · TA获得超过616个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:318万
展开全部
嘻嘻
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式