第55集 二维数组

1.一维数组是一行,而二维数组是多行(注意虽然多行,但每一行存储的元素数量是相同的)

2.二维数组的创建(注意:创建二维数组时,x可以省略,但y必须说明具体值)

   例子:int a[x][y];  其中x表示数组的行数,而y则表示每一行元素的个数

3.二维数组进行初始化时

  (1)int [3][4]={1,2,3,4,5,6,7} 

           没有初始化的部分元素默认为0;

           同时元素的赋值是按照顺序一个一个来的;

 (2)int [3][4]={{1,2},{3,4,5},{6,7}}

           这种写法可以打乱顺序,将赋值指定在某一行,如{1,2}是指定赋值在第一行(第一行剩余               的部分则默认为0)

4.二维数组中元素的访问

 (1)二维数组的行数下标也和元素下标一样是从0开始

 (2)由(1)可知二维数组元素的访问类似于一维数组,只不过需要多说明一个行数的下标

5.例子(打印一个二维数组)

 (3)作答:

#include<stdio.h>
int main()
{
    int a[3][4] = { 1,2,3,4,5,6,7,8,9,1,9,8 };//定义一个二维数组(数组3行4列)
    int b, c;
    for (b = 0;b < 3; b++)
    {
        for (c = 0; c < 4; c++)
        {
            printf("%d\n", a[b][c]);
        }
        
    }
    return 0;
}

   纠错,导致输出后的结果不理想的情况有两个原因

   第一个:换行操作符选错了位置,题目是要打印四个元素后才换行,而此处是打印一次换一行

   改后:

#include<stdio.h>
int main()
{
    int a[3][4] = { 1,2,3,4,5,6,7,8,9,1,9,8 };//定义一个二维数组(数组3行4列)
    int b, c;
    for (b = 0;b < 3; b++)
    {
        for (c = 0; c < 4; c++)
        {
            printf("%d", a[b][c]);   //问题二所在处
        }
        printf("\n");  //执行到此后换行
    }
    return 0;
}

   第二个问题:由于输出的格式没有空格,这就导致输出的元素都是紧凑的

  改后:

#include<stdio.h>
int main()
{
    int a[3][4] = { 1,2,3,4,5,6,7,8,9,1,9,8 };//定义一个二维数组(数组3行4列)
    int b, c;
    for (b = 0;b < 3; b++)
    {
        for (c = 0; c < 4; c++)
        {
            printf("%d ", a[b][c]);
        }
        printf("\n");
    }
    return 0;
}

    (4)

       问题:由于输出的

       补充有关printf()函数的知识点

printf("格式字符串", 参数 1, 参数 2,..., 参数 n);

  • 格式字符串:指定了输出的格式(如:"%d %d"指打印一个整数之后空一个格子再打印一个整数,而"%d%d"是连续的),包括要显示的文本(即字符串)、占位符以及其他特殊字符(如换行\n)。
  • 参数:是要插入到格式字符串中的值,可以是常量、变量或表达式。

  printf 函数根据格式字符串中的占位符来确定如何处理相应的参数。常见的占位符包括:

  • %d:用于整数类型的输出。
  • %f:用于浮点类型(单精度或双精度)的输出。
  • %s:用于字符串类型的输出。
  • %c:用于单个字符类型的输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值