c语言33矩阵转置函数 c语言3*4转置矩阵
C++题目: 写一个函数将一个3*3的整型矩阵转置。
1、首先在编辑器中准备好一个空白的c语言文件,引入C语言标准库,在main函数中定义一个3x3阶矩阵以及循环体中要用的变量i和j,以及一个用来交换数据的临时变量tmp,然后下一步就可以开始编写处理转置的部分了:
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的榕城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
2、二维数组需要用两层循环输出,而算法是将一个3x3阶矩阵转置时,只需将主对角线右上方的数组元素“n[0][1]”、“n[0][2]”、“n[1][2]”,分别与主对角线左下放的数组元素“n[1][0]”、“n[2][0]”、“n[2][1]”的值通过一个临时变量进行交换即可实现矩阵的转置:
3、最后一步运行程序,在右侧的命令行可以看到转置后的结果,以上就是用c语言实现矩阵转置的操作:
c语言:写一个函数,将输入的3*3的整形矩阵进行转置 用函数
#includestdio.h
int main()
{
void move(int *s);
int a[3][3];int i=0;
int *p=a[0][0];
printf("请输入一个3*3的数组:\n");
for(i=0;i3;i++)
{
scanf("%d%d%d",a[i][0],a[i][1],a[i][2]);
}
move(p);
printf("转置后的结果:\n");
for(i=0;i3;i++)
{
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
}
return 0;
}
void move(int *s)
{
int i,j,t;
for(i=0;i3;i++)
{
for(j=i;j3;j++)
{
t=*(s+3*i+j);
*(s+3*i+j)=*(s+3*j+i);
*(s+3*j+i)=t;
}
}
}
扩展资料:
在C语言或C++中,会把用来#include的文件的扩展名叫 .h,称其为头文件。
#include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容,单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码。在现行的c++版本中,应用这个头文件应是#includestdio.h
stdio 就是指 “standard input output"(标准输入输出)所以,源代码中如用到标准输入输出函数时,就要包含这个头文件!
例如c语言中的 printf("%d",i); scanf("%d",i);等函数。
引用方法
#include stdio.h
(注:在TC2.0中,允许不引用此头文件而直接调用其中的函数,但这种做法是不标准的。也不建议这样做。以避免出现在其他IDE中无法编译或执行的问题。)
标准函数
int getchar()//从标准输入设备写入一个字符
int putchar()//向标准输出设备读出一个字符
int scanf(char*format[,argument…])//从标准输入设备读入格式化后的数据
int printf(char*format[,argument…])//向标准输出设备输出格式化字符串
char* gets(char*string)//从标准输入设备读入一个字符串
int puts(char*string)//向标准输出设备输出一个字符串
int sprintf(char*string,char*format[,…])//把格式化的数据写入某个字符串缓冲区。
将一个3x3的矩阵转置,怎样用c语言写?
#includelt;stdio.hgt;
int main()
{
int a[3][3];int*i;
for(i=*a;ilt;*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;ilt;3;i++)
for(j=0;jlt;i;j++)
{
t=*(*(p+i)+j);*(*(p+i)+j)=*(*(p+j)+i);*(*(p+j)+i)=t;//行列交换
}
for(i=0;ilt;3;i++,printf("\n"))
for(k=*(p+i);klt;*(p+i)+3;printf("%2d",*k++));//输出转置矩阵
}
扩展资料:
C#中for语句的语法:
for(initialization;Boolean expression;update control variable)
statement
其中,statement(语句)是for循环主体,要么是一个语句,要么是用大括号{}封闭的代码块。[3]
例子1:
static void Main(string[]args)
{
for(int i=0;ilt;10;i++)
{
Console.WriteLine(i);
Console.ReadLine();
}
}
例子2:
static void Main(string[]args)
{
int i=0;
for(;ilt;10;i++)
{
Console.WriteLine(i);
Console.ReadLine();
}
}
例子2运算得到例子1相同的结果。
Pascal语言中的for循环
循环次数已知时,可以用for语句实现循环结构。
for语句有两种格式:递增型和递减型。
(1)递增型for语句格式
forlt;循环变量gt;:=lt;初值gt;tolt;终值gt;dolt;语句gt;;
(2)递减型for语句格式,
forlt;循环变量gt;:=lt;初值gt;downtolt;终值gt;dolt;语句gt;;
其中,“循环变量"为一个有序类型的数据,
在第一种形式中,使用的是保留字to,循环变量则从“初值"开始逐一增加到“终值";
在第二种形式中,使用的是保留字downto,“循环变量"则从“初值"开始逐一递减到“终值",每次执行一次循环体语句。
名称栏目:c语言33矩阵转置函数 c语言3*4转置矩阵
分享链接:http://myzitong.com/article/hpjhpc.html