




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东华大学通信与电子工程系第七章数组一维数组二维数组及多维数组字符数组和字符串数组概念东华大学通信与电子工程系第七章数组一维数组二维数组及多东华大学通信与电子工程系东华大学通信与电子工程系东华大学通信与电子工程系东华大学通信与电子工程系东华大学通信与电子工程系输入5个按学号排列的学生某门课的成绩表,要求按与输入次序相反的顺序输出#include<stdio.h>voidmain(){floats1,s2,s3,s4,s5;printf(“enterfivescores:");scanf("%f,%f,%f,%f,%f",&s1,&s2,&s3,&s4,&s5);printf("\nThescoreinreverseorderare:");printf("%f\n",s5);printf("%f\n",s4);printf("%f\n",s3);printf("%f\n",s2);printf("%f\n",s1);}这些数据具有共同的特点:由若干分量构成;数据的各个分量都是同一类型;这些分量是按一定顺序排列的。东华大学通信与电子工程系输入5个按学号排列的学生某门课的成东华大学通信与电子工程系数组概念构造数据类型之一数组:按序排列的具有相同类型的变量的集合。用数组名标识这一组数。元素:属同一数据类型,用数组名和下标确定数组中的元素。
数组元素的作用相当于简单变量东华大学通信与电子工程系数组概念构造数据类型之一东华大学通信与电子工程系一维数组的定义定义方式:数据类型数组名[常量表达式];
合法标识符代表数组元素的个数,即数组长度下标从0开始7.1
一维数组
例:inta[5];表示有5个元素,元素的下标从0开始.数组a的元素分别为:a[0],a[1],a[2],a[3],a[4]例inti=15;intdata[i];(
不能用变量定义数组长度)例#defineM20floaty[4*M+1];(合法,M是符号常量)东华大学通信与电子工程系一维数组的定义合法标识符代表数组元东华大学通信与电子工程系一维数组的存储C编译程序用连续的内存单元存放各个元素例
inta[6];a[0]0145a[1]a[2]a[3]a[4]a[5]23a编译时分配连续内存内存总字节数=数组长度*
sizeof(元素数据类型)如:总字节数=6*2=12数组名代表的是数组在内存中的首地址,是地址常量东华大学通信与电子工程系一维数组的存储C编译程序用连续的内东华大学通信与电子工程系数组必须先定义,后使用数组元素表示形式:数组名[下标]其中:下标可以是常量或整型表达式例inta[10];printf(“%d”,a);(
)必须for(j=0;j<10;j++)printf(“%d\t”,a[j]);(
)例intt,data[5];t=data[2];//引用data数组中序号为2的元素。一维数组的引用注意:只能逐个引用数组元素,不能一次引用整个数组东华大学通信与电子工程系例inta[10]东华大学通信与电子工程系用数组实现#include<stdio.h>voidmain(){inti;floats[100];printf("Enterthescores:");for(i=0;i<100;i++)//数组元素的输入
scanf("%f",&s[i]);printf("\nThescoresinreverseorderare:");for(i=99;i>=0;i--)//数组元素的输出
printf("%f\n",s[i]);}
东华大学通信与电子工程系用数组实现#include<st东华大学通信与电子工程系初始化方式在定义数组时,为数组元素赋初值(在编译阶段使之得到初值)inta[5]={1,2,3,4,5};等价于:a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;说明:数组不初始化,其元素值为随机数
数组不进行初始化时,编译器不为其自动指定初始值。其初始值为系统分配给数组各元素的内存单元原来的值,这个值是不可预知的。一维数组的初始化东华大学通信与电子工程系在定义数组时,为数组元素赋初值i东华大学通信与电子工程系数组元素赋初值
对全部元素赋初值。如:inta[10]={10,11,12,13,14,15,16,17,18,19}表示数组元素的值为:a[0]=10;a[1]=11;
a[9]=19;在对全部数组元素赋初值时,可不指定数组长度
如:inta[]={1,2,3,4,5,6};//编译系统根据初值个数确定数组长度东华大学通信与电子工程系数组元素赋初值对全部元素赋初值东华大学通信与电子工程系
对部分元素赋初值(前面的连续元素)。如:在此,只有前5个元素初值确定,后面5个元素的值为0。intb[10]={0,1,2,3,4};表示数组元素的值为:b[0]=0;b[1]=1;b[2]=2;b[3]=3;b[4]=4;东华大学通信与电子工程系对部分元素赋初值(前面的东华大学通信与电子工程系#include<stdio.h>voidmain(){ inti,b[10]={0,1,2,3,4};for(i=0;i<10;i++) printf("%d\n",b[i]);}东华大学通信与电子工程系#include<stdio.h东华大学通信与电子工程系注意:不能只对不连续部分元素或后面的连续元素赋初值。语句:
inta[10]={,,,,,1,2,3,4,5};是错误的inta[10]={1,,3,,5,,7,,9,,};是错误的。错误:初始值的个数大于元素的个数如:intb[3]={3,6,2,7,3,1,9};是错误的东华大学通信与电子工程系注意:不能只对不连续部分元素或后面东华大学通信与电子工程系给一个不多于9位的正整数,要求:1)求出它是几位数;2)分别输出每一位数字;3)按逆序输出各位数字#include<stdio.h>voidmain(){longintnumber,num;
inti,j,d[9]; printf("请输入一个位数<=9的正整数:"); scanf("%ld",&number);i=0; num=number;//保存输入的整数的原值
do { d[i]=num%10; i++; num=num/10; }while(num);//d[0],d[1],...,分别存储该整数的第1,2,...,位数字东华大学通信与电子工程系给一个不多于9位的正整数,要求:1东华大学通信与电子工程系 if(i>9)//i的当前值为该数的位数
printf("输入的整数已超出范围!\n"); else { printf("%ld的位数为:%d\n",number,i);
printf("它的每位数字分别为:"); for(j=i-1;j>=0;j--)//分别输出该数的各位数字
printf("%3d",d[j]); printf("\n"); printf("将该数逆序输出为:"); for(j=0;j<i;j++) printf("%d",d[j]); printf("\n"); }}东华大学通信与电子工程系 if(i>9)东华大学通信与电子工程系排序过程:(1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束例用冒泡法对8个数排序东华大学通信与电子工程系排序过程:例用冒泡法对8个数排东华大学通信与电子工程系例3849657613273097
第一趟38496513273076
第二趟384913273065
第三趟3813273049
第四趟13273038
第五趟132730
第六趟4938659776132730
初始关键字n=8384976971397972730971376767627301365276530651313494930492738273830381327
第七趟例用冒泡法对8个数排序(图解)东华大学通信与电子工程系例384965东华大学通信与电子工程系#defineN8#include<stdio.h>voidmain(){ inti,j,t,a[N]; printf(“Input8numberstobesorted:\n");for(i=0;
i<N;i++) scanf("%d",&a[i]);for(j=0;j<N-1;j++)
//外循环j控制比较的趟数N-1 for(i=0;i<N-1-j;i++)
//内循环i控制一趟比较的次数N-1-j
if(a[i]>a[i+1])
{ t=a[i]; a[i]=a[i+1]; a[i+1]=t;
}printf("\nthesortednumbers:\n");for(i=0;i<N;i++) printf("%5d",a[i]);printf("\n");}东华大学通信与电子工程系#defineN8东华大学通信与电子工程系二维数组的定义定义方式:
数据类型数组名[常量表达式][常量表达式];例inta[3][4];floatb[2][5];intc[2][3][4];
inta[3,4];(
)行数列数元素个数=行数*列数7.2二维数组及多维数组东华大学通信与电子工程系例inta[3][4];东华大学通信与电子工程系例inta[3][4];20161720181920202120222320089201011201213201415200012002320045200067a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年珠宝鉴定师宝石鉴定与评估模拟试题集-宝石鉴定师职业素养
- 2025年高压电工考试题库(高压电器设备原理)综合模拟试题
- 电磁学与现代物理:2025年A-Level物理A2模拟试卷深度剖析
- 2025年瑜伽教练职业技能认证模拟试卷-体式教学与课程设计实战解析
- 2025年考研数学(三)线性代数与微积分经典题型精讲与试题
- 【《晶体管管座工艺分析及工艺方案制定案例》1600字】
- 2025年上海市闵行区八年级上学期期中地理试卷:地图识别与地理知识拓展训练
- 2025年云计算工程师认证模拟试题:云平台虚拟化技术与资源管理
- 八年级历史期末中国古代经济史2025版知识检测测试卷
- 高效备考计算机二级MySQL试题及答案技巧
- 2024年陪诊师考试普及试题及答案
- 镁合金半固态注射成型技术的研究与发展
- 特种设备作业人员安全培训
- 雷军的创业成功之路
- 危险性较大的分部分项工程专项施工方案严重缺陷清单(试行)
- 湿地生态修复与保护设计方案
- 二元一次方程组讲义
- 2025江苏苏州狮山商务创新发展集团有限公司及下属板块公司招聘10人笔试参考题库附带答案详解
- “输出轴”零件的机械加工工艺及其钻端面φ20孔工艺装备说明书
- 《小型智能灭火机器人的设计》11000字(论文)
- 能源管理系统用户操作手册
评论
0/150
提交评论