找回密码
 register

QQ登录

只需一步,快速开始

[*编程自学*] 第十四课:二维数值数组

[复制链接]

[*编程自学*] 第十四课:二维数值数组

[复制链接]
Waylee

主题

0

回帖

7459

积分

仙帝

积分
7459
Waylee 2024-8-3 21:07 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×
二位数组的定义:
int arr[3][4];
//第一个[]里面的值表示行数,第二个[]里面的值表示列数
//arr数组有3行4列
//三行:0~2行 四列:0~3列

二维数组的遍历:
#include<stdio.h>
void test04()
{
        int arr[3][4];//局部数组不初始化元素内容不确定
        int j = 0;
        int i = 0;
        for(i=0;i<3;i++)
        {
                //遍历第0行
                for(j=0;j<4;j++)
                {
                        printf("%d ",arr[j]);
                }
                printf("\n");
        }
}
int main(int argc,char *argv[])
{
        test04();
        return 0;
}

运行结果:
-858993460 -858993460 -858993460 -858993460
-858993460 -858993460 -858993460 -858993460
-858993460 -858993460 -858993460 -858993460
Press any key to continue

二位数组的初始化
分段初始化:用{}里面的{}明确的表示一行
int arr[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} };

连续初始化:放满一行,才能放下一行
int arr[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};

案例:
#include<stdio.h>
void test06()
{
        int arr1[3][4]={ {1,2},{3},{4,5} };
        int arr2[3][4]={ 1,2,3,4,5 };
        printf("%d\n",arr1[1][2] + arr2[1][2]);  // 0
}
int main(int argc,char *argv[])
{
        test06();
        return 0;
}

作业:定义int arr[3][4]的二位数组,获取键盘输入,并求出每一行平均值
#include<stdio.h>
void test06()
{
        int arr[3][4] = {0};
        double num = 0;
        int i = 0,j = 0;
        //获取键盘输入
        for(i=0;i<3;i++)
        {
                for(j=0;j<4;j++)
                {        
                        scanf("%d",&arr[j]);
                }
        }
        
        for(i=0;i<3;i++)
        {
                //求每一行的平均值
                num = 0;
                for(j=0;j<4;j++)
                {        
[i]                        num += arr[j];
                }
                printf("第%d行的平均值 = %f\n",i,num/4);
                
        }
}
int main(int argc,char *argv[])
{
        test06();
        return 0;
}

运行结果:
1 2 3 4
5 6 7 8
9 10 11 12
第0行的平均值 = 2.500000
第1行的平均值 = 6.500000
第2行的平均值 = 10.500000
Press any key to continue


案例:
求每列的平均值
#include<stdio.h>
//求每列的平均值
void test07()
{
        int arr[3][4] = {0};
        double num = 0;
        int i = 0,j = 0;
        //获取键盘输入
        for(i=0;i<3;i++)
        {
                for(j=0;j<4;j++)
                {        
                        scanf("%d",&arr[j]);
                }
        }
        for(j=0;j<4;j++)
        {
                num = 0;
                for(i=0;i<3;i++)
                {
                        num += arr[j];
                }
                printf("第%d列的平均值 = %f\n",j,num/3);
        }
        
}
int main(int argc,char *argv[])
{
        test07();
        return 0;
}

运行结果:
1 2 3 4
5 6 7 8
9 10 11 12
第0列的平均值 = 5.000000
第1列的平均值 = 6.000000
第2列的平均值 = 7.000000
第3列的平均值 = 8.000000
Press any key to continue



雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |网站地图|天天打卡

GMT+8, 2024-11-22 01:58 , Processed in 0.059603 second(s), 10 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表