怎样用C语言输出矩阵

怎样用C语言输出矩阵,第1张

定义二维数组作为矩阵,然后用两个for循环打印出每个元素即可。
例如一个10x10的矩阵;
#define m 10
#define m 10
int a[m][n];
for(i = 0; i <m; i++){
for(j = 0; j < n; j++)
printf("%d",a[i][j]);
printf("\n");
}

#include <stdioh>
int main(void)
{
int a[4][4],i,j,t;
printf("请输入矩阵:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("输入的矩阵是:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
printf("\n转置后的矩阵是:\n");
for(i=0;i<4;i++)
for(j=0;j<i;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
return 0;
}

#include "stdafxh" //VS 预编译头文件,其他系统请删除
#include<stdioh>
#include<stdlibh>
//VS 2013 否决了 scanf 等函数,为了使用,加上下句。
//其他系统请删除
#pragma warning(disable:4996)

//VS 主函数签名格式。其他系统请改变签名,如:
//int main()
int _tmain(int argc, _TCHAR argv[])
{
int a[4][3], b[4][3];
printf("Please input 3x4 array:\n");
scanf("%d%d%d%d%d%d%d%d%d%d%d%d", &a[0][0], &a[0][1], &a[0][2], &a[1][0], &a[1][1], &a[1][2], &a[2][0], &a[2][1], &a[2][2], &a[3][0], &a[3][1], &a[3][2]);
int i, j;
printf("The orinal array is:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
printf("%6d", a[i][j]);
b[j][i] = a[i][j];
}
printf("\n");

}
printf("The transposed array is:\n");
for (i = 0; i < 4; i++)
{
for (j = 0; j < 3; j++)
{
printf("%6d", b[i][j]);
}
printf("\n");
}

system("pause"); //避免窗口一闪而退
return 0;
}

矩阵可以用二维数组存储输出的时候,空白就是空格注意输出的时候对齐问题就行了下面是个例子
#include <stdioh>
int a[3][3]={2,4,6,
0,1,3,
7,0,10};
void main()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if(a[i][j]!=0)
printf("%-3d",a[i][j]);
else
printf(" ");
}
printf("\n");
}

}
说明:
printf("%-3d",a[i][j]);这表示是宽度为3的左对齐
为0的话,则输出3个空格就可以了
希望上面对你有帮助

C++中,输出一个n阶矩阵步骤如下:

1、首先,定义8个整型变量,实现n阶矩阵的计算。

2、接着,定义一个数组变量保存奇数幻方的各数值。

3、输入奇数幻方的阶数。

4、给数组赋初值,初始值为0。

5、计算第一个数1的坐标,保存在变量x和y中。

6、将第一数字1,保存在数组中。

7、用for循环,实现奇数幻方各值位置的计算。

8、用累加的方式,获取奇数幻方的下一个数值。

9、计算奇数幻方下一个值的坐标。

10、如果元素的x坐标小于1,则x值为n;如果元素的y坐标小于1,则y值为n。

11、用if循环处理计算出的坐标已存在的情况,如果存在,则位置变为原数值的下方。

12、将下一个奇数幻方的数值,保存在数组中。

13、最后,输出奇数幻方的每一个数值,每输出一行执行换行。

14、运行程序,输入一个阶数后,电脑就会输出该阶数的矩阵。

先把二维数组对角线上的元素进行赋值,然后进行用二层的循环进行输出,在内循环中输出一行上的元素,内循环结束以后换行,整体就完成了。
For i = 0 To 9
For j = 0 To 9
Print a(i, j);
Next j
Print
Next i

方法一:典型的传统方法,用二重循环,外层循环控制行,内层循环控制列

i行j列的数组第ii行第jj列可以表示为arr[ii,jj]

程序示例:

using System;

using SystemCollectionsGeneric;

using SystemText;
namespace ArrayDemo

{

//两种遍历二维数组的方法

class Program

{

static void Main(string[] args)

{

int[,] arr = new int[3, 4] {{62,35,62,23},{32,25,34,69},{15,24,26,83}};

for(int i=0;i<3;i++)

{

for(int j=0;j<4;j++)

{

ConsoleWrite("{0,6}",arr[i,j]);

}

ConsoleWriteLine();

}

ConsoleReadLine();

}

}

}
方法二:用一重循环,有i行j列的二维数组的第ii个元素可以表示为arr[ii/j,ii%j]

示例程序如下:

using System;

using SystemCollectionsGeneric;

using SystemText;
namespace ArrayDemo

{

//两种遍历二维数组的方法

class Program

{

static void Main(string[] args)

{

int[,] arr = new int[3, 4] {{62,35,62,23},{32,25,34,69},{15,24,26,83}};

for(int i=0;i<arrLength;i++)

{

ConsoleWrite("{0,6}",arr[i/4,i%4]);

if ((i + 1) % 4 == 0)

{

ConsoleWriteLine();

}

}

ConsoleReadLine();

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12898056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存