C语言:二维数组,(杨辉三角)
二维数组:一维数组中的元素又是一个数组。
声明的语法:
数据类型 数组名[一维长度][二维长度];
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语言:二维数组,(杨辉三角)的更多相关文章
- java基础之二维数组-杨辉三角
首先呢你要知道什么是杨辉三角? 答:杨辉三角,是二项式系数在三角形中的一种几何排列. 简单的说一下就是两个未知数和的幂次方运算后的系数问题,比如(x+y)的平方=x的平方+2xy+y的平方,这样系数就 ...
- c语言二维数组传递
c语言二维数组传递,目前我总结三种方法,以及纠正一个不能使用的方法 /********************************* * 方法1: 第一维的长度可以不指定 * * 但必须指定第二维 ...
- C语言二维数组作业
一.PTA实验作业 题目1:7-3 出生年 1. 本题PTA提交列表 2. 设计思路 1.声明一个函数different()用来计算一个年份的不同数字个数 2.定义y(y是来计算符合要求的年份的量), ...
- 基于visual Studio2013解决C语言竞赛题之0509杨辉三角
题目
- 关于c语言二维数组与指针的个人理解及处理办法。
相信大家在学习C语言时,对一维数组和指针的理解应该是自信的,但是,我在学习过程中,看到网上一些博文,发现即便是参加工作的一些专业编程人员,突然碰到二维数组和指针的问题时,也可能会遇到难以处理的诡异问题 ...
- C语言 二维数组复制、清零及打印显示
#include <stdlib.h> #include <stdio.h> #include <string.h> //二维整型数组打印显示 ],int row, ...
- C语言 二维数组(指针)动态分配和释放(转)
C 二维数组(指针)动态分配和释放 先明确下概念: 所谓32位处理器就是一次只能处理32位,也就是4个字节的数据,而64位处理器一次就能处理64位,即8个字节的数据.如果我们将总长128位的指令分别按 ...
- C语言二维数组
上节讲解的数组可以看作是一行连续的数据,只有一个下标,称为一维数组.在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组.多维数组元素有多个下标,以确定它在数组中的位置.本节只介绍二维数 ...
- 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} ...
- C语言二维数组作为函数的参数
前言:今天在实现装配线调度程序时候,用到了二维数组,并将其作为函数的参数.在写程序的时候,遇到一些问题,即二维数组做函数的参数应该如何正确表示.我写程序的错误如下程序所示: #include < ...
随机推荐
- loj2314 「NOIP2017」小凯的疑惑[同余最短路or数论]
这题以前就被灌输了“打表找规律”的思想,所以一直没有好好想这道题,过了一年还不太会qwq.虽然好像确实很简单,但是还是带着感觉会被嘲讽的心态写这个题解...而且还有一个log做法不会... 法1:(一 ...
- 闭包-IIFE
1)嵌套函数,内部函数访问了外部函数的局部变量,通过返回内部函数,在函数外部调用内部函数,从而更新外部函数的局部变量的过程: 2)代码执行完成之后离开作用域依旧存在 3)有可能发生内存泄露,若对象的引 ...
- mysql5.7 环境准备
原文源自:https://www.cnblogs.com/activiti/p/7810166.html 操作系统为centos7 .修改 /etc/my.cnf,在 [mysqld] 小节下添加一行 ...
- 让create-react-app支持sass,less
用create-react-app 创建的项目不支持sass和less,需要手动配置 npm install node-sass sass-loader --save 然后在config/webpac ...
- django 之csrf、auth模块及settings源码、插拔式设计
目录 基于django中间件拷贝思想 跨站请求伪造简介 跨站请求伪造解决思路 方式1:form表单发post请求解决方法 方式2:ajax发post请求解决方法 csrf相关的两个装饰器 csrf装饰 ...
- JVM(九),垃圾回收回收算法
九.垃圾回收回收算法 1.标记-清除(Mark and Sweep) 缺点是内存空间碎片化太严重 2.复制算法(Copying) (1)复制算法介绍 (2)复制算法优势 3.标记-整理算法(Compa ...
- JVM(七),JVM面试小知识
七.JVM面试小知识 1.JVM三大性能调优参数 -Xms -Xmx -Xss 的含义 2.java内存模型中堆和栈的区别 3.不同JDK版本中的intern()方法的区别
- 图片文件打开失败:“Could not load image... ...0x89 0x50”
造冰箱的熊猫@cnblogs 2018/12/10 使用Image Viewer打开图片文件时,提示错误“Could not load image '001.jpg'. Error interpret ...
- ACM-ICPC 2018 沈阳赛区网络预赛 G Spare Tire (素因子分解+容斥)
. 样例输入复制 4 4 样例输出复制 14 #include<bits/stdc++.h> using namespace std; typedef long long ll; cons ...
- 【知识库】-数据库_MySQL性能分析之Query Optimizer
简书作者:Sio 文章出处: MySql优化之索引原理与 SQL 优化 Query Optimizer MySQL Optimizer是一个专门负责优化SELECT 语句的优化器模块,它主要的功能就是 ...