如何用C语言编一个程序,输入一个二维数组,然后以一个矩阵的方式输出。

如何用C语言编一个程序,输入一个二维数组,然后以一个矩阵的方式输出。比如:输入一个2*3的矩阵,可以输入:123456然后输出形式要求是这种形式:123456就是以一个2... 如何用C语言编一个程序,输入一个二维数组,然后以一个矩阵的方式输出。
比如:输入一个2*3的矩阵,可以输入:1 2 3 4 5 6
然后输出形式要求是这种形式:
1 2 3
4 5 6
就是以一个2*3矩阵输出。
尽量用到指针呀。
展开
 我来答
问明6E
高粉答主

2019-07-09 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.4万
展开全部

#include<stdio.h>

void main(){

int array[3][3], (*pArr)[3], *p[3], i, j, sum;

srand(time(NULL));

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

for(j=0; j<3; j++)

array[i][j] = rand()%100+0;

pArr = array;

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

for(j = 0; j < 3; j++){

printf("%d\t", pArr[i][j]);

if(j == 2){

printf("\n");

}

}

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

p[i] = array[i];

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

sum = 0;

for(j=0; j<3; j++){

sum += p[i][j];

}

printf("第%d行的和是%d\n", i+1, sum);

}

}

扩展资料:

1、printf命令的作用是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为:printf("<格式化字符串>", <参量表>)。

printf()是C语言标准库函数,在 stdio.h 中定义。输出的字符串除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

2、printf函数调用的一般形式

printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。printf函数调用的一般形式为:printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。

格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%C”表示按字符型输出等。后面将专门给予讨论。

非格式字符串在输出时原样照印,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。

arg123654789
2012-06-23 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:70
采纳率:0%
帮助的人:92.9万
展开全部

#include <stdio.h>

#include <stdlib.h>

int main()

{

    int *a;

    int n,m,i,j,len;

    printf("请输入矩阵行数:");

    scanf("%d",&n);

    printf("请输入矩阵列数:");

    scanf("%d",&m);

    len = m * n;

    a = NULL;

    a = (int *)malloc(sizeof(len));

    printf("输入矩阵元素:"); 

    for(i = 0;i < len;i++){

        scanf("%d",&a[i]);

    }

    for(i = 0;i < n;i++){

        for(j = 0;j < m-1;j++){

            printf("%d ",a[n*i+j]);

        }

        printf("%d\n",a[n*i+j]);

    }

    return 0;

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
YN天会
推荐于2018-03-07
知道答主
回答量:30
采纳率:0%
帮助的人:20.2万
展开全部
#include<stdio.h>
void main()
{
int i,j,a[2][3],*p;
for(i=0;i<2;i++)
{ printf("输入3个数:");
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
p=a;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{ printf("%d ",*(p+i)+j);
if((j+1)%3==0)printf("\n");
}
}
}
追问
换成一个m*n的矩阵怎么写?
追答
m,n是变量吗?数组要确定长度的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
温顺还轻捷丶超人2035
2012-06-21
知道答主
回答量:8
采纳率:0%
帮助的人:1.3万
展开全部
#include<stream.h>
void main()
{
int i,j,a[2][3],*p;
for(i=0;i<2;i++)
{ printf("输入3个数:");
for(j=0;j<3;j++)
p=a;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{ printf("%d ",*(p+i)+j);
if((j+1)%3==0)printf("\n");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a525970280
2012-06-21 · TA获得超过1162个赞
知道小有建树答主
回答量:698
采纳率:40%
帮助的人:416万
展开全部
#include <stdio.h>
#define MAX 100

int main ()
{
int i, j;
int m, n;
int a[MAX];

printf ("Please input the line:");
scanf ("%d", &m);
printf ("Please input the row:");
scanf ("%d", &n);
printf ("Please input the data:");
for (i = 0; i < m * n; i++)
{
scanf ("%d", &a[i]);
}
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
printf ("%d\t", a[i*m+j]);
}
printf ("\n");
}
getch ();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式