C语言如何用for循环构建2*2矩阵

问题描述

C语言如何用for循环构建2*2矩阵

2*2矩阵:
1 2

3 4

很简单的矩阵
不过不用scanf输入
直接用for循环输出

我想的方法是定义一个变量x=1,然后在for循环里面,每一次x++存入数组
代码:

 #include<stdio.h>
int main()
{
    int a[2][2];
    int i,j,x=1;
    for(i=0;i<2;i++)
        for(j=0;j<2;j++)
        {
                a[i][j]=x;
                x++;
        }
    printf("%d
",a[i][j]);
    return 0;
}

输出结果只有1,实在不解

解决方案

 for(i=0;i<2;i++)
{
        for(j=0;j<2;j++)
        {
            printf("%d	",a[i][j]);
        }
                printf("
");
}
这样才能输出矩阵

解决方案二:

C语言for循环
C语言for循环
C语言for循环

解决方案三:

for(i=0;i<2;i++)
for(j=0;j<2;j++)
{

a[i][j]=x;
x++;
}
printf("%d
",a[i][j]);

            这种写法等效于
            for(i=0;i<2;i++)
            {
                            for(j=0;j<2;j++)
                            {
                                            a[i][j]=x;
                                            x++;
                            }
            }
            printf("%d
",a[i][j]);

            楼上 caozhy 的写法能输出你想要的那种矩阵形式,你的问题在于代码根本就不对( printf("%d
",a[i][j]);)  知道现在的i,j是多少吗,都是2,都数组越界了,能出来1 算你幸运.数组指针索引都是从1开始的,记住

解决方案四:

是从0开始的,不过没法改评论啊

解决方案五:

for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%d ",a[i][j]);
}
printf("
");
}

解决方案六:

 for(i=0;i<2;i++)
{
        for(j=0;j<1;j++)
        {
            printf("%d,",a[i][j]);
        }
                 printf("%d",a[i][j]);
                printf("
");
}

解决方案七:

你应该看看变量的作用域,i,j进入for循环后改变的只是临时值 退出for循环就变成了a[0][0]=x=1;

解决方案八:

首先,输出语句应该在一个循环中,这样才能输出全部的元素;
其次,输出之前要先把i,j置为0,让它从最初的数组元素开始输出。

解决方案九:

  #include<stdio.h>
int main()
{
    int a[2][2];
    int i,j,x=1;
    for(i=0;i<2;i++)
        for(j=0;j<2;j++)
        {
                a[i][j]=x;
                x++;
        }
    for(i=0;i<2;i++)
        for(j=0;j<2;j++)
        {
            printf("%d
",a[i][j]);
        }

    return 0;
}


时间: 2024-08-03 21:06:09

C语言如何用for循环构建2*2矩阵的相关文章

C语言初级讲座之循环结构

循环结构是程序中一种很重要的结构.其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止.给定的条件称为循环条件,反复执行的程序段称为循环体.C语言提供了多种循环语句,可以组成各种不同形式的循环结构. while语句 while语句的一般形式为:while(表达式)语句: 其中表达式是循环条件,语句为循环体. while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句.其执行过程可用图3-4表示.统计从键盘输入一行字符的个数. #include <stdio.h> v

c语言-求助一个java语言的一个for循环语句

问题描述 求助一个java语言的一个for循环语句 for(int i=2,j=1; j<10; i=(i==9)?(((++j)/j)+1):(i+1)){ System.out.printf("%d*%d=%2d%c",i,j,i*j, ((i==9)?'n':' ')); } 输出结果是99乘法表. 这个for循环里的++j为什么不能换成j+1啊? 谢谢各位了. 解决方案 ++j是改变变量值的 j+1是不改变变量值的 解决方案二: ++j 等效于j=j+1 你用j+1 原j

C++语言如何用数组实现一个二叉树?

问题描述 C++语言如何用数组实现一个二叉树? 提示,二叉树的第n层可以用数组的第2^(n-1)~2^n-1表示.定义一个二叉树,并且实现对它的遍历. 解决方案 struct node { int l,r; }; struct node tree[100]; int path[100]; int ans; void init() { int i; ans = 0; for(i = 0 ; i < 100 ; i ++ ) tree[i].l = tree[i].r = -1,path[i] =

c语言问题-Linux下的C语言程序问题无限循环

问题描述 Linux下的C语言程序问题无限循环 这个程序我在Linux里用gcc编译,然后无限循环,我用ctrl+c但是只能停止循环,却不能退出运行,这是一个问题,还有一个就是为什么它会无限循环?我把for里面中间一个x!=9.9改成x<=9.9还是无限循环,为什么? 解决方案 杂记之C语言之无限循环 解决方案二: 改成<=9.9就不会出现这个情况的, 解决方案三: 亲测,改为<=9.9不是无限循环,用!=是无限循环的原因很简单,float,double的!=不能这么判断,比如你判断 a

java语言如何用数组解这道题? 只需大神指点一下关键要点……

问题描述 java语言如何用数组解这道题? 只需大神指点一下关键要点-- java 修改标签 [问题描述] 用一维数组存储学号和成绩,然后,按成绩排序输出. [输入形式] 输入第一行包括一个整数N(1<=N<=100),代表学生的个数. 接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩. [输出形式] 按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来. 如果学生的成绩相同,则按照学号的大小进行从小到大排序. [样例输入] 3 1 90 2 87 3 92 [样例输出

VB语言一个有关于循环的问题,比较难

问题描述 VB语言一个有关于循环的问题,比较难 如果有一个变量 for x = 0 to 9 ... next 如果有两个变量 for x = 0 to 9 for y = 0 to 9 ... next next 如果有三个变量 for x = 0 to 9 for y = 0 to 9 for z = 0 to 9 ... next next next 请问这种层数不确定的循环怎么写 解决方案 n=3 k=1 for j = 1 to n k = k*10 next for i=1 to k

R语言,如何根据row的index提取矩阵?谢谢指导!

问题描述 R语言,如何根据row的index提取矩阵?谢谢指导! 已知1.targetmatrix <- matrix(1:100 nrow = 20),2.targetindex <- c(2 8 12 15 19)[1] [2] [3] [4] [5][1] 1 21 41 61 81[2] 2 22 42 62 82[3] 3 23 43 63 83[4] 4 24 44 64 84[5] 5 25 45 65 85[6] 6 26 46 66 86[7] 7 27 47 67 87[8

R语言,如何根据row的index提取矩阵?

问题描述 R语言,如何根据row的index提取矩阵? 已知1.targetmatrix <- matrix(1:100, nrow = 20),2.targetindex <- c(2, 8, 12, 15, 19) [,1] [,2] [,3] [,4] [,5] [1,] 1 21 41 61 81 [2,] 2 22 42 62 82 [3,] 3 23 43 63 83 [4,] 4 24 44 64 84 [5,] 5 25 45 65 85 [6,] 6 26 46 66 86

c语言-C程序多重循环的条件判断问题的咨询

问题描述 C程序多重循环的条件判断问题的咨询 多重循环怎么学?多重循环的条件判断是根据什么语句来实现的?如何学好C语言的多重循环? 解决方案 http://ask.csdn.net/questions/215403 解决方案二: 额...这个不就两个for循环套着嘛 你要认真看教材,在开始学的情况下直接看源程序还是不大合适的 解决方案三: 多重循环没必要学,需要学的是为什么程序设计里有时会存在多重循环,自己应该在什么条件下使用循环和循环嵌套. 解决方案四: 可以用for()循环嵌套 解决方案五: