将一个二维数组中的行列元素互换后各元素值加1。在主函数中输入一个矩阵,并调用此

谁知道啊... 谁知道啊 展开
 我来答
雪在风6
2010-05-21 · TA获得超过146个赞
知道答主
回答量:22
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
void main()
{
void change(int x[][3]);
int x[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
printf("原数组为\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{printf("%3d",x[i][j]);}
printf("\n");
}
change(x);
printf("行列互换后的数组为\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{x[i][j]=x[i][j]+1;
printf("%3d",x[i][j]);}
printf("\n");
}
}
void change(int x[][3])//函数调用change(x) 这里的x是数组
{
int a;
a=x[0][1];x[0][1]=x[1][0];x[1][0]=a;
a=x[0][2];x[0][2]=x[2][0];x[2][0]=a;
a=x[1][2];x[1][2]=x[2][1];x[2][1]=a;
}
自在飞花2006
2010-05-21 · TA获得超过371个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
#include <stdlib.h>
void change(int **mat,int r,int c)
{
int i,j,t;
for(i=0;i<r;i++)
for(j=i+1;j<c;j++)
{
t=mat[i][j];
mat[i][j]=mat[j][i];
mat[j][i]=t;
}
for(i=0;i<r;i++)
for(j=0;j<c;j++)
mat[i][j]+=1;
}

void main()
{
int **mat;
int r,c,i,j;
printf("输入矩阵的行列值:\n");
scanf("%d %d",&r,&c);
mat = (int **)malloc(r*sizeof(int *));
for(i=0;i<r;i++)
mat[i]=(int*)malloc(c*sizeof(int));
printf("输入矩阵的各元素值:\n");
for(i=0;i<r;i++)
for(j=0;j<c;j++)
scanf("%d",&mat[i][j]);
change(mat,r,c);
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
printf("%d\t",mat[i][j]);
printf("\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式