呵呵,刚刚写好,思想主要就是,在矩阵的上三角中对行与列的调换!可利用双重循环实现,以下是具体参考代码,实现的功能已经抽象成为函数了,你看一下吧://--------------code-------------#includeiostream
牡丹江ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
void MatrixTrun(int a[3][3])
{
int i,j,temp;
for(i=0;i3;i++)
{
for(j=0;ji;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;i3;i++)
{
for(j=0;j3;j++)
{
if(0==time%3)
printf("\n");
printf("%d ",A[i][j]);
time++;
}
}
time=0;
MatrixTrun(A);
printf("\n转置后矩阵为:\n");
for(i=0;i3;i++)
{
for(j=0;j3;j++)
{
if(0==time%3)
printf("\n");
printf("%d ",A[i][j]);
time++;
}
}
return 0;
}//----------------end----------------------附上运行演示截图:
fun( int a[][3] )
{ int i,j,t;
for( i=0;i3;i++ )
for( j=0;ji;j++ )
{ t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
main()
{ int a[3][3]={.....},i,j;
fun(a);
for( i=0;i3;i++ )
{ for( j=0;j3;j++ )
printf("%4d",a[i][j]);
printf("\n");
}
}
#include stdio.h
int main()
{
int a[3][3], b, c, d;
for (b = 0; b3; b++)
for (c = 0; c3; c++)
scanf("%d",a[b][c]);
printf("\n");
for (b = 0; b3; b++)
for (c = b+1; c3; c++)
{
d = a[b][c];
a[b][c] = a[c][b];
a[c][b] = d;
}
for (b = 0; b3; b++)
{for (c = 0; c3; c++)
printf("%d ",a[b][c]);
printf("\n");
}
return 0;
}
方法一、
#includelt;stdio.hgt;
void main(){
void switchArray(int[3][3]);
int array[][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
switchArray(array);
return 0;
}
void switchArray(int array[][3]){
int newArray[3][3];
int i,j;
for(i=0;ilt;3;i++){
for(j=0;jlt;3;j++){
newArray[j]lt;igt;=arraylt;igt;[j];
}
}
for(i=0;ilt;3;i++){
for(j=0;jlt;3;j++){
printf("%d",newArraylt;igt;[j]);
}
printf("\n");
}
}
方法二、用指针实现:
#includelt;stdio.hgt;
void main(){
void switchArray(int[3][3]);
int array[][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int(*pToArray)[3];
pToArray=array;
switchArray(pToArray);
return 0;
}
void switchArray(int array[][3]){
int newArray[3][3],(*pTArr)[3],(*pTNewArr)[3];
int i,j;
pTArr=array;
pTNewArr=newArray;
for(i=0;ilt;3;i++){
for(j=0;jlt;3;j++){
*(*(pTNewArr+j)+i)=*(*(pTArr+i)+j);
}
}
for(i=0;ilt;3;i++){
for(j=0;jlt;3;j++){
printf("%d",*(*(pTNewArr+i)+j));
}
printf("\n");
}
}
扩展资料:
用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。