第四讲 二维数组初始化_第1页
第四讲 二维数组初始化_第2页
第四讲 二维数组初始化_第3页
第四讲 二维数组初始化_第4页
第四讲 二维数组初始化_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目六批量数据的处理第四讲二维数组初始化C语言程序设计任务驱动式教程综合2:选择结构综合应用100以内减法定期存款本息合计的计算银行ATM机操作界面“剪刀石头布”人机游戏问题导入34212865675074629954如何用表格中的数据初始化二维数组元素,并输出其中最小的值?二维数组-初始化任务二int

a[3][3]={{1,28,4},{15,7,8},{9,111,12}};对二维数组元素赋初值,即初始化。对二维数组全部元素赋初值

对二维数组部分元素赋初值float

b[2][3]={{1.1},{3.9,1.0}};等价于int

a[3][3]={1,28,4,15,7,8,9,111,12};int

a[][3]={1,28,4,15,7,8,9,111,12};第一维长度可不指定,但第二维长度不能省略。1.1

0.00.03.91.00.0【情况1】【情况2】二维数组-初始化任务二说明下列各二维数组元素的初值。inta[3][4]={{1},{2},{3}};inta[3][4]={1,2,3};100020003000123000000000二维数组-引用任务二引用数组中的元素可通过使用数组名及下标来实现。数组名[下标1][下标2]int

a[3][4];a[0][0]=6;只能逐个引用数组元素,不能一次引用整个数组。//引用a[0][0]元素,为其赋值为6。//引用a[1][0]元素,通过键盘为其输入值。scanf("%d",&a[1][0]);下标可是整型常量、变量或表达式【引用格式】二维数组-引用任务二二维数组数据的输入和输出。#include<stdio.h>voidmain(){int

a[3][4],i,j;

for(i=0;i<3;i++)

//二维数组的输入

for(j=0;j<4;j++)

scanf("%d",&a[i][j]);

for(i=0;i<3;i++)//二维数组的输出

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

printf("%d",a[i][j]);

printf("\n");//每输出一行后换行

}}1.二维数组根据需要进行初始化2.对二维数组访问一般用双重循环实现二维数组-引用任务二示例1两种商品在四个季节有不同的单价float

pri[2][4]={{1.12,1.3,1.2,1.4},{1.1,1.35,1.4,1.2}};使用初始化中的最小值作为两种商品的特价值1.1如何输出商品的特价值?printf("%0.1f\n",pri[1][0]);通过键盘输入3名学生两门课的成绩。ints[3][2],i,j;

for(i=0;i<3;i++)

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

scanf("%d",&s[i][j]);示例2二维数组-引用任务二34212865675074629954价格表:有一双层书架,每一层放5本书,找出其最低价格。应用思考如何计算第2层书架中书的单价之和。二维数组-引用任务二34212865675074629954价格表:#include<stdio.h>intmain(){intmin,i,j,s=0;inta[__][___]=_______________________;min=________;for(____;____;_____)

for(___;_____;____){if(________)min=________;s=_______;}printf("最小值是:%d数组和为:%d\n",min,s);return0;}有一双层书架,每一层放5本书,找出其最低价格。应用思考如何计算第2层书架中书的单价之和。二维数组-引用任务二34212865675074629954价格表:#include<stdio.h>intmain(){intmin,i,j,s=0;inta[2][5]={{34,21,28,65,67},{50,74,62,99,54}};min=a[0][0];for(i=0;i<2;i++)

for(j=0;j<5;j++){if(a[i][j]<min)min=a[i][j];s=s+a[i][j];}printf("最小值是:%d数组和为:%d\n",min,s);return0;

}有一双层书架,每一层放5本书,找出其最低价格。应用思考如何计算第2层书架中书的单价之和。二维数组-引用任务二34212865675074629954价格表:#include<stdio.h>intmain(){intmin,i,j,s=0;inta[2][5]={{34,21,28,65,67},{50,74,62,99,54}};min=a[0][0];for(i=0;i<2;i++)for(j=0;j<5;j++){if(a[i][j]<min)min=a[i][j];}for(i=1;i<2;i++)for(j=0;j<5;j++){s=s+a[i][j];}printf("最小值是:%d数组和为:%d\n",min,s);return0;}有一双层书架,每一层放5本书,找出其最低价格。应用思考如何计算第2层书架中书的单价之和。二维数组的应用任务二【程序】将一个二维数组a的行和列的元素(即行列转置),存到另一个二维数组b中。例如:

a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]b[0][0]b[0][1]b[1][0]b[1][1]b[2][0]b[2][1]b[0][0]=a[0][0]b[1][0]=a[0][1]b[2][0]=a[0][2]b[0][1]=a[1][0]b[1][1]=a[1][1]b[2][1]=a[1][2]b[j][i]=a[i][j](i=0~1,j=0~2)000102101112000110112021a,b数组对应的数组元素下标:二维数组的应用任务二【算法设计】step1变量定义和初始化。定义数组a[2][3],数组b[3][2],循环控制变量i和j。step2用嵌套循环实现数组a的行列转置,并存放到数组b中。外层循环控制数组a的行下标变量i的取值范围:0~1。内层循环控制数组a的列下标变量j的取值范围:0~2。循环体部分:b[j][i]=a[i][j];step3打印输出数组a和数组b。二维数组的应用任务二#include<stdio.h>intmain(){

inta[2][3]={___________};intb[3][2],i,j;printf("arraya:\n"); for(_______)

/*外层循环*/{

for(___________)

/*内层循环*/

{

printf("%5d",________);

_____________;

/*为b数组赋值*/

}

printf("\n");

}

printf("arrayb:\n");

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

{

for(j=0;j<=1;j++)

printf("%5d",_______);

printf("\n");

}

return0;}二维数组的应用任务二#include<stdio.h>intmain(){

inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n"); for(i=0;i<=1;i++) /*外层循环*/{ for(j=0;j<=2;j++) /*内层循环*/

{

printf("%5d",a[i][j]);

b[j][i]=a[i][j];

/*为b数组赋值*/

}

printf("\n");

}

printf("arrayb:\n");

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

{

for(j=0;j<=1;j++)

printf("%5d",b[i][j]);

printf("\n");

}

return0;}step1step2step31.一个学习小组有6个人,每个人有3门课(数学、语文和英语)的考试成绩,如表所示。求每门课的平均分和每个人的平均分。技能实训任务二课程王笑李鹏吴欣张平赵明张晓娜数学859384859586语文7995958010098英语809193759790可设一个二维数组a[3][6]存放6个人3门课的成绩。再设一个一维数组v[3]存放每门课的平均分,设一个一维数组w[6]存放每个人的平均分。技能实训任务二#include<stdio.h>intmain(){inti,j,s=_____,v[],w[];

/*定义变量*/inta[][]=___________________; /*初始化*/for(_____;______;______)

/*外循环*/{ for(_____;______;______)

/*内循环*/ s=s+_______; /*各科的分数累加*/

v[i]=______; /*各科平均分*/ s=0; /*s重新赋初值0*/ }1.一个学习小组有6个人,每个人有3门课(数学、语文和英语)的考试成绩,如表所示。求每门课的平均分和每个人的平均分。技能实训任务二

for(j=0;j<___;j++) /*外循环*/

{ for(i=0;i<___;i++) /*内循环*/ s=s+_____; /*各人的分数累加*/ w[__]=s/3; /*各人平均分*/ s=0; /*s重新赋初值0*/}printf("数学:%d\t语文:%d\t英语:%d\n",____,____,____); /*输出各科平均分*/printf("王笑:%d\t李鹏:%d\t吴欣:%d\t张平:%d\t赵明:%d\t张晓娜:%d\n",

____,____,____,____,____,____); /*输出每个人的平均成绩*/return0;}1.一个学习小组有6个人,每个人有3门课(数学、语文和英语)的考试成绩,如表所示。求每门课的平均分和每个人的平均分。技能实训任务二#include<stdio.h>intmain(){inti,j,s=0,v[3],w[6]; /*定义变量*/inta[3][6]={{85,93,84,85,95,86},{79,95,95,80,100,98},{80,91,93,75,97,90}}; /*初始化*/for(i=0;i<3;i++) /*外循环*/{ for(j=0;j<6;j++) /*内循环*/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论