‘壹’ c语言:写一个函数,将输入的3*3的整形矩阵进行转置 用函数
#include<stdio.h>
voidchange(inta[3][3])
{
inti,j,t;
for(i=0;i<3;i++)
for(j=0;j<i;j++)
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
}
voidmain()
{
inti,j,a[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
change(a);
printf(" 转置矩阵: ");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%-4d",a[i][j]);
printf(" ");
}
}
运行示例:
‘贰’ 用c语言将一个3*3的整形矩阵转置,不用指针方法(最基础的方法)。急
楼主请等会,马上好,在帮你编写源代码。
终于写好了,以下是代码:
// 用c语言将一个3*3的整形矩阵转置,
#include<stdio.h>
void main()
{int a[3][3];
int b[3][3];
int i,j,t=0;
printf("请输入原矩阵的9个元素");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{++t;
scanf("%d",&a[i][j]);
if(t%3==0)
{
printf("
");
}
}//初始化矩阵;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j][i]=a[i][j];
printf("
");
printf("转制后的矩阵为:
");
t=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
++t;
printf(" %d ",b[i][j]);
if(t%3==0)
printf("
");
}
printf("谢谢使用************************************
");
}
这是我运行的结果:
‘叁’ C语言,求3×3矩阵的转置矩阵(在自身进行转置)
#include<stdio.h>
int main()
{
int a1,b1;
int a[3][3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("矩阵为 ");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("%d ",a[i][j]);
if(j==2)
printf(" ");
}
printf(" ");
for(i=0;i<2;i++)
for(j=1;j<3;j++)
{
a1=a[i][j];
b1=a[j][i];
a[i][j]=b1;
a[j][i]=a1;
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("%d ",a[i][j]);
if(j==2)
printf(" ");
}
return 0;
}
‘肆’ 将一个3x3的矩阵转置,怎样用c语言写
#include<stdio.h>
int main()
{
int a[3][3];int*i;
for(i=*a;i<*a+9;scanf("%d",i++));//输入矩阵
void trans(int(*p)[3]);//声明转换函数
trans(a);
}
void trans(int(*p)[3])
{
int i,j,t,*k;
for(i=0;i<3;i++)
for(j=0;j<i;j++)
{
t=*(*(p+i)+j);*(*(p+i)+j)=*(*(p+j)+i);*(*(p+j)+i)=t;//行列交换
}
for(i=0;i<3;i++,printf(" "))
for(k=*(p+i);k<*(p+i)+3;printf("%2d",*k++));//输出转置矩阵
}
(4)c语言转置33矩阵扩展阅读:
C#中for语句的语法:
for(initialization;Boolean expression;update control variable)
statement
其中,statement(语句)是for循环主体,要么是一个语句,要么是用大括号{}封闭的代码块。[3]
例子1:
static void Main(string[]args)
{
for(int i=0;i<10;i++)
{
Console.WriteLine(i);
Console.ReadLine();
}
}
例子2:
static void Main(string[]args)
{
int i=0;
for(;i<10;i++)
{
Console.WriteLine(i);
Console.ReadLine();
}
}
例子2运算得到例子1相同的结果。
Pascal语言中的for循环
循环次数已知时,可以用for语句实现循环结构。
for语句有两种格式:递增型和递减型。
(1)递增型for语句格式
for<循环变量>:=<初值>to<终值>do<语句>;
(2)递减型for语句格式,
for<循环变量>:=<初值>downto<终值>do<语句>;
其中,“循环变量"为一个有序类型的数据,
在第一种形式中,使用的是保留字to,循环变量则从“初值"开始逐一增加到“终值";
在第二种形式中,使用的是保留字downto,“循环变量"则从“初值"开始逐一递减到“终值",每次执行一次循环体语句。
‘伍’ C++题目: 写一个函数将一个3*3的整型矩阵转置。
1、首先在编辑器中准备好一个空白的c语言文件,引入C语言标准库,在main函数中定义一个3x3阶矩阵以及循环体中要用的变量i和j,以及一个用来交换数据的临时变量tmp,然后下一步就可以开始编写处理转置的部分了:
‘陆’ 3*3矩阵转置 C语言 数组
思路:定了两个二维数组分别存储转置前后的矩阵,接着for循环依次转置即可。
//参考代码
#include<stdio.h>
intmain()
{
inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},b[3][3];
inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j][i]=a[i][j];
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%2d",b[i][j]);
printf(" ");
}
return0;
}
/*
运行结果:
147
258
369
*/
‘柒’ 您好~怎么样用C语言编写一个实现矩阵((3行3列)的转置,即行列互换
#include <stdio.h>
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[j][i]);
printf("\n");
}
return 0;
}
‘捌’ C语言,将一个3X3整数矩阵转置,要求矩阵元素随机生成
#include<stdio.h>
main()
{int a[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(j=0;j<3;j++)
{for(i=0;i<3;i++)
printf("%d ",a[i][j]);
printf("\n");
}
getch();
}
后面的那个getch();看你是什么编译系统,若不是wintct。可不加,程序经调试。没问题