二维数组:一维数组中的元素又是一个数组。
声明的语法:
数据类型 数组名[一维长度][二维长度];
  int num[3][2];

注意:int[][2];正确

   int[2][];错误

二维数组中:  一维可以省略,二维不能省略。 

1.创建一个二维数组用于保存三个班级的学生信息:

int scores[3][3];//用于保存三个班级的学生信息,每个班级3个人。
int i,j;
//为一班学生的成绩赋值
scores[0][0]=10;
scores[0][1]=20;
scores[0][2]=30;p
//为二班学生的成绩赋值
scores[1][0]=40;
scores[1][1]=50;
scores[1][2]=60;
//为三班学生的成绩赋值
scores[2][0]=70;
scores[2][1]=80;
scores[2][2]=90;
//二维数组的遍历 
for(i=0;i<3;i++)

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

  {
  printf("%d\t",scores[i][j]);
  }
printf("\n");
}

2.声明一个三行三列的二维数组,计算对角线的和:

int num[3][3];
int x,y,sum=0;
for(x=0;x<3;x++)
{
  for(y=0;y<3;y++)
  {
    printf("请输入num[%d][%d]\n",x,y);
    scanf("%d",&num[x][y]);
    if(x==y)
    {
    sum+=num[x][y]; 
    }
  }
printf("\n");
}
printf("%d\n",sum);

3.从键盘上输入9个整数,保存在二维数组中按数组原来位置输出第一行和第一列的所有元素之和:

int nums[3][3];
int i,j,sum=0;
for(i=0;i<3;i++)

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

  {
    printf("请输入第%d行第%d列:",i+1,j+1);
    scanf("%d",&nums[i][j]);
  }
}
for(i=0;i<3;i++)

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

  {
    printf("%d\t",nums[i][j]);
    //计算第一行和第一列所有元素之和
    if(i==0||j==0)

    {
    sum+=nums[i][j];
    }
  }

printf("\n");

}
printf("第一行和第一列所有元素之和为%d:",sum);

4.求二维数组(3行3列)中最大元素值及其行列号:

int nums[3][3];
int i,j,z,y,sum=0,max;
for(i=0;i<3;i++)
{
  for(j=0;j<3;j++)
  {
    printf("请输入第%d行第%d列:",i+1,j+1);
    scanf("%d",&nums[i][j]);
  }
}
max=nums[1][1];
for(i=0;i<3;i++)

{
  for(j=0;j<3;j++)
  {
    printf("%d\t",nums[i][j]);

    if(nums[i][j]>max)
    {
      max=nums[i][j];
      z=i;
      y=j;
    }

  }
printf("\n");
}

printf("最大的是%d,是第%d行%d列",max,z+1,y+1);

5.打印杨辉三角:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
分析:
1.声明一个二维数组用于保存杨辉三角中的数据 int nums[5][5];
2.第一列nums[i][0]和对角线上的数字(nums[i][i])为1。
3.除第一列和对角线上的数字之外,其余数字nums[i][j]=nums[i-1][j]+nums[i-1][j-1];

int nums[5][5];
//为第一列和对角线赋值为1
int i,j;

for(i=0;i<5;i++)
{
nums[i][0]=1;//为第一列上的元素赋值为1
nums[i][i]=1;//为对角线上的元素赋值为1 
}

//为除第一列和对角线之外元素赋值 
for(i=2;i<5;i++)
{
  for(j=1;j<i;j++)
  {
    nums[i][j]=nums[i-1][j]+nums[i-1][j-1];
  }
}

//遍历输出
for(i=0;i<5;i++)
{
  for(j=0;j<=i;j++)
  {
    printf("%d\t",nums[i][j]);
  }
printf("\n");
}

C语言:二维数组,(杨辉三角)的更多相关文章

  1. java基础之二维数组-杨辉三角

    首先呢你要知道什么是杨辉三角? 答:杨辉三角,是二项式系数在三角形中的一种几何排列. 简单的说一下就是两个未知数和的幂次方运算后的系数问题,比如(x+y)的平方=x的平方+2xy+y的平方,这样系数就 ...

  2. c语言二维数组传递

    c语言二维数组传递,目前我总结三种方法,以及纠正一个不能使用的方法 /********************************* * 方法1: 第一维的长度可以不指定 * * 但必须指定第二维 ...

  3. C语言二维数组作业

    一.PTA实验作业 题目1:7-3 出生年 1. 本题PTA提交列表 2. 设计思路 1.声明一个函数different()用来计算一个年份的不同数字个数 2.定义y(y是来计算符合要求的年份的量), ...

  4. 基于visual Studio2013解决C语言竞赛题之0509杨辉三角

     题目

  5. 关于c语言二维数组与指针的个人理解及处理办法。

    相信大家在学习C语言时,对一维数组和指针的理解应该是自信的,但是,我在学习过程中,看到网上一些博文,发现即便是参加工作的一些专业编程人员,突然碰到二维数组和指针的问题时,也可能会遇到难以处理的诡异问题 ...

  6. C语言 二维数组复制、清零及打印显示

    #include <stdlib.h> #include <stdio.h> #include <string.h> //二维整型数组打印显示 ],int row, ...

  7. C语言 二维数组(指针)动态分配和释放(转)

    C 二维数组(指针)动态分配和释放 先明确下概念: 所谓32位处理器就是一次只能处理32位,也就是4个字节的数据,而64位处理器一次就能处理64位,即8个字节的数据.如果我们将总长128位的指令分别按 ...

  8. C语言二维数组

    上节讲解的数组可以看作是一行连续的数据,只有一个下标,称为一维数组.在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组.多维数组元素有多个下标,以确定它在数组中的位置.本节只介绍二维数 ...

  9. C语言二维数组作为函数参数

    设有整型二维数组a[3][4]如下:0   1   2   34   5   6   78   9  10  11 它的定义为:    int a[3][4]={{0,1,2,3},{4,5,6,7} ...

  10. C语言二维数组作为函数的参数

    前言:今天在实现装配线调度程序时候,用到了二维数组,并将其作为函数的参数.在写程序的时候,遇到一些问题,即二维数组做函数的参数应该如何正确表示.我写程序的错误如下程序所示: #include < ...

随机推荐

  1. 清北学堂dp图论营游记day5

    ysq主讲: tarjan缩点+拓扑+dij最短路. floyd..... 单源..最长路... 建正反两个图. 二分答案,把大于答案的边加入到新图中,如果能走过去到终点,就可以. 或者:从大到小加边 ...

  2. 第六章 组件 67 使用ref获取DOM元素和组件引用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  3. 第一天Beta冲刺

    这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <作业要求的链接> 团队名称 <做个一亿的小项目> 这个作业的目标 完成第一天Beta冲刺 作业正文 .. ...

  4. Android Multiple dex files define 解决包冲突

    这段时间有一个新需求,安卓App通过URL在线预览PDF.选择使用并倒入PdfViewPager库时,报了如下异常: jdmerchants:transformDexArchiveWithExtern ...

  5. JavaScript 小技巧整理

    1.过滤唯一值 Set类型是在ES6中新增的,它类似于数组,但是成员的值都是唯一的,没有重复的值.结合扩展运算符(...)我们可以创建一个新的数组,达到过滤原数组重复值的功能. const array ...

  6. 笔记本在安装Windows+Linux双系统后,进入Windows时花屏的解决办法

    问题:在笔记本安装双系统(Windows7+Ubuntu14.04)[先安装Windows,后安装Ubuntu]后,进入Windows时出现了花屏. 问题原因:笔记本只有集显,在系统启动时会先加载Ub ...

  7. centos后台运行python程序

    在服务器上,为了退出终端,程序依然能够运行,需要设置程序在后台运行. 关键的命令:nohup *基本用法:进入要运行的py文件目录前 nohup python  -u test.py > tes ...

  8. IE 不兼容 console 关键字

    如果在JS文件中写了console.log()方法,在IE下打开 开发者工具就没问题,不打开就有问题js 报错 不执行等等 ...... (IE这都是什么鬼!!),百度过后的解决方法如下: 好吧,这其 ...

  9. django 网站上传资源的显示与配置

    1.  上传资源的配置 1. 首先在项目里创建一个名称叫media的文件夹专门保存用户上传 2. settings.py文件配置上传资源的路径 # 上传资源路径,如果图片,上传文件等 MEDIA_UR ...

  10. springMVC中的ModelAndView说明

    ModelAndView 类别就如其名称所示,是代表了Spring Web MVC程式中呈现画面时所使用Model资料物件与View资料物件,由于Java程式中一次只能返回一个物件,所以ModelAn ...