c语言打印矩阵
1. c语言编程 输入一个3*3的矩阵,打印该矩阵,并输出该矩阵的对角元素
#include<stdio.h>
#defineM3
#defineN3
voidCreate_matrix(intmatrix[M][N],intm,intn){
inti,j;
printf("开始输入矩阵内容(%d行%d列) ",m,n);
for(i=0;i<m;i++){
printf("输入第%d行的%d个元素:",i+1,n);
for(j=0;j<n;j++)
scanf("%d",&matrix[i][j]);
}
}
voidPrint_matrix(intmatrix[M][N],intm,intn){
inti,j;
for(i=0;i<m;i++){
for(j=0;j<n;j++)
printf("%d ",matrix[i][j]);
printf(" ");
}
}
voidPrint_matrix_diagonal(intmatrix[M][N],intm,intn){
inti,j;
for(i=0;i<m;i++){
for(j=0;j<n;j++)
if(i==j||i+j==M-1)
printf("%d ",matrix[i][j]);
else
printf(" ");
printf(" ");
}
}
intmain(void){
intmatrix[M][N];
Create_matrix(matrix,M,N);
printf("====================================================== ");
printf("您输入的矩阵为: ");
Print_matrix(matrix,M,N);
printf("对角线元素为: ");
Print_matrix_diagonal(matrix,M,N);
return0;
}
执行结果
2. 如何用C语言打印出二维数组
#include <stdio.h>
#include <stdlib.h>
int main()
{int arr[3][3]={{1,2,3},{4,5,6},{7,8,9}},i,j;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%3d",arr[i][j]);
printf("\n");
}
system("pause");
return 0;
}这是直接给出数组的各个值了,也可以添加数值输入的内容
3. 用C语言输出矩阵
//螺旋赋值数组并输出的问题
#include<stdio.h>
#defineM100
#defineN100
intmain()
{
inta[M][N];
intm=3,n=4;//这里设置数组的维度
inti,j;
intt;
intup=0,down=m-1;
intleft=0,right=n-1;
i=up,j=left;
t=1;
while(1)
{
while(j!=right+1)
{
a[i][j]=t;
t++;
j++;
}
j--;
if((t-1)==(m*n))
{
break;
}
up++;
i=up;
while(i!=down+1)
{
a[i][j]=t;
t++;
i++;
}
if((t-1)==(m*n))
{
break;
}
i--;
right--;
j=right;
while(j!=left-1)
{
a[i][j]=t;
t++;
j--;
}
if((t-1)==(m*n))
{
break;
}
j++;
down--;
i=down;
while(i!=up-1)
{
a[i][j]=t;
t++;
i--;
}
if((t-1)==(m*n))
{
break;
}
i++;
left++;
j=left;
}
printf("---------螺旋形输出-------- ");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d",a[i][j]);
}
printf(" ");
}
printf("--------------------------- ");
return0;
}
哥们你很抠门儿呀,才5分!!
4. C语言如何打印输出一个NxN的矩阵,请注意矩阵的排列要求
#include<iostream.h>
voidmain()
{
intn,N,i,j,**a;
cout<<"N=";
cin>>N;
a=newint*[N];
for(n=0;n<N;)
[n]=newint[N];
intmk1=0,mk2=0;
for(n=1,i=0,j=0;n<=N*N;){
a[i][j]=n;
if(i==0&&j<N-1&&mk1==0){
j++;
mk1++;
mk2=0;
n++;
continue;
}
if(j==0&&i<N-1&&mk2==0){
i++;
mk2++;
mk1=0;
n++;
continue;
}
if(i==N-1&&mk1==1){
j++;
mk2++;
mk1=0;
n++;
continue;
}
if(j==N-1&&mk2==1){
i++;
mk1++;
mk2=0;
n++;
continue;
}
if(mk1==1){
i++;
j--;
n++;
continue;
}
if(mk2==1){
i--;
j++;
n++;
continue;
}
}
for(intm=0;m<N;m++){
for(intn=0;n<N;n++){
cout<<a[m][n]<<"";
if(n==N-1)
cout<<endl;
}
}
for(n=0;n<N;n++)
delete[]a[n];
delete[]a;
}
大概就是这么个样吧,你试试
5. c语言这个矩阵怎么输出
int a[n][m];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
printf("%d ",a[i][j]);
printf("\n");
}
/*这样就可以啦,这是伪代码,别直接内复制粘贴哦容*/
6. 怎样用C语言输出矩阵
这样输出的是一个地址值,
你都知道用%d,当然是一个10进制的数了。
for(int
ii=0;ii<2;ii++)
{
for(int
jj=0;jj<5;jj++)
{
printf("%d",a[ii][jj]);
}
printf("\n");//换行
}
7. C语言 打印矩阵
你好
具体实现如下
代码有注释
帮助理解
#include
<stdio.h>
void
main()
{
int
i,j,n;
int
a[100][100];//行标和列标的最大值100可以自行修改
不过回这里100足够了
printf("enter
n(n<=100):");//因为答预定义的数组最大就是100
因此不要超过数组行标和列标的最大值
scanf("%d",&n);
for(i=0;i<n;i++)
{
if(i%2==0)//判断行数是偶数
那么就是降序
{
for(j=0;j<n;j++)
a[i][j]=i*n+(j+1);
}
else//行数是奇数
就升序
{
for(j=n-1;j>-1;j--)
a[i][j]=i*n+(n-j);
}
}
for(i=0;i<n;i++)//输出数组a
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n\n\n");
}
}
希望能帮助你哈
8. c语言如何实现矩阵的输出
main()
{
int i,j,a,b,c[10][10];
clrscr();
printf("enter a,b:\n");
scanf("%d,%d",&a,&b);
printf("请输入%d行*%d列:\n",a,b);
for (i=0;i<a;i++)
for (j=0;j<b;j++)
scanf("%d",&c[i][j]);
for (i=0;i<a;i++)
{
for (j=0;j<b;j++)
printf("%5d",c[i][j]);
printf("\n");
}
}
输入3,5
1 2 3 4 5
12 13 14 15 6
11 10 9 8 7
输出:1 2 3 4 5
12 13 14 15 6
11 10 9 8 7
9. C语言,怎么输出下列矩阵
//刚写的code,测试通过,如果有疑问,欢迎交流
#include<stdio.h>
#defineN5
intmain(){
inta[N];
inti,j;
for(i=0;i<N;i++){
a[i]=i+1;
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
if(j==0){
printf("%d",a[(i+j)%N]);
}else{
printf("%d",a[(i+j)%N]);
}
}
printf(" ");
}
return0;
}
10. C语言,形成并输出矩阵
您好!
C语言实现如下:
#include<stdio.h>
voidmain()
{
inti,j;
for(i=0;i<=9;i++)
{
for(j=1;j<=i+1;j++)
printf("%d",i);
printf(" ");
}
}
如有错版误,请多权原谅。