
呵呵,刚刚写好,思想主要就是,在矩阵的上三角中对行与列的调换!可利用双重循环实现,以下是具体参考代码,实现的功能已经抽象成为函数了,你看一下吧://--------------code-------------#include<iostream>
void MatrixTrun(int a[3][3])
{
int i,j,temp;
for(i=0;i<3;i++)
{
for(j=0;j<i;j++)
{
temp=a[j][i];
a[j][i]=a[i][j];
a[i][j]=temp;
}
}
}
int main()
{
int A[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,time=0;
printf("矩阵为:");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(0==time%3)
printf("\n");
printf("%d ",A[i][j]);
time++;
}
}
time=0;
MatrixTrun(A);
printf("\n转置后矩阵为:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(0==time%3)
printf("\n");
printf("%d ",A[i][j]);
time++;
}
}
return 0;
}//----------------end----------------------附上运行演示截图:
#include <stdioh>
int fun(int array[3][3])
{
int i,j,temp;
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
{
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
}
return 0;
}
int main()
{
int i,j;
int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}};
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun(array);
printf("Converted array:\n");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
return 0;
}
#include<iostream>
usingnamespacestd;
void zhuang zhi(int a[3][3])
{int m,n,i;
for(m=0;m<2;m++)
for(i=0;i<3;i++)
{if(m!=1||i!=0)
{n=a[i][m];
a[i][m]=a[m][i];
a[m][i]=n;
}
}
}
int main()
{
inta[3][3];
inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
zhuang zhi(a);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<"";
cout<<endl;
}
return0;
}
运行效果:
扩展资料:
return语句有以下形式:
return;//不带返回值的return语句
return 0;//带返回值的return语句,或者返回一个变量或一个函数。
return 1//表示函数异常结束
不带返回值的return语句用于,中断返回值为void类型的函数的执行,而带返回值的return则不行。
#include<iostream>
using namespace std;
void f(){
cout<<"begin"<<endl;
return 0;此处有问题,此时return;的作用相当于break;用于中断循环的作用。所以不该返回某个具体的值。
cout<<"end"<<endl;
}
int main(){
f();
return 0;
}
将return 0;换为return;后,运行成功:
总结:
return;的作用相当于break;用于中断循环的作用;return 0;则是return的另一种用法,专用于返回值非void的函数返回其值。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)