程序设计课程辅导(2)

上传人:wt****50 文档编号:49542694 上传时间:2018-07-30 格式:PPT 页数:30 大小:2.03MB
返回 下载 相关 举报
程序设计课程辅导(2)_第1页
第1页 / 共30页
程序设计课程辅导(2)_第2页
第2页 / 共30页
程序设计课程辅导(2)_第3页
第3页 / 共30页
程序设计课程辅导(2)_第4页
第4页 / 共30页
程序设计课程辅导(2)_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《程序设计课程辅导(2)》由会员分享,可在线阅读,更多相关《程序设计课程辅导(2)(30页珍藏版)》请在金锄头文库上搜索。

1、程序设计课程辅导(2)华北电力大学 计算机基础教研室主讲 张丽静 潘卫华 张锋奇 罗贤缙数组是C+的一种数据类 型(构造类型),是具有一 定顺序的一组相同类型变量 的集合体组成数组的变量称为该数组 的元素第二层层次_数组组的应应用vv 数组的概念数组的概念vv 使用原则使用原则先定义,后使用先定义,后使用 名字名字 类型类型大小大小维维数组vv 数组的定义数组的定义类型说明符 数组名常量;例如: int a10; 整型数组 名字为a 十个变量 a0 a1a9vv 一维数组的存储结构一维数组的存储结构a0 a1a9数组a 数组元素在内 存中顺序存放 数组元素的地 址是连续的,一维的一维数组的输入

2、一维数组的输入/ /输出输出数组循环例1 将十个数据输入到数组中,并按逆序输出。void main( ) int a10,i;for(i=0;i=0;i- -) printf(“%d”,ai); printf(“nResult:”);printf(“nInput data:”);使用数组的关键在于控制下标变化使用数组的关键在于控制下标变化ai i=09a0 a1a9数组a将数据输入到各 个数据元素中运行printf(“%5d”,ai); #incude#includecoutai; cout void main( ) int a11, i,j,aa;for(i=1;iai;for (i=1;i

3、ajfor i=1 to 10-1输入要排序的数输出排好序的数流程图第八讲例 题将10个数按大小排序数组排序for (i=1;i viod main( ) int a11, i,j,aa;for(i=1;iai;for (i=1;in;cinai;for(i=1;iaj)aa=ai;ai=aj;aj=aa; for(i=1;i例4. 从n个数中找出最小的数,并与第一个位置上的数 对调, 指出最小的数原来在数列中的位置。8 3 5 2 1 9 7 10 4 6 分析:变量w记录数组中最小数的位置, n个数分别放在数组a1,a2,an中。8 1 数组找位置w=1 8 3 5 2 1 98 3 5

4、2 1 9w=2awa2awa3w=28 3 5 2 1 9awa4w=4 8 3 5 2 1 9awa5 w=5 8 3 5 2 1 9 awa6aw最小 awa1 输出a1,w给数组a 赋值awaj真for j=2 to n读入n假w=1w=j aw与a1互换输 出运行void main( ) int a50,j,n,w,aa;cinn;cinaj;coutaj) w=j;找位置找位置coutaj真for j=2 to n读入n假w=1w=j aw与a1互换输 出#include数组数据移动例5 数组a有五个元素,其值分别为:1、2、3、4、5 ,移动该数组的数,使其变成2、3、4、5、1

5、。a0 a1 a2 a3 a41 2 3 4 5mm=a02 2a1a03 3 4 4 5 5 1 1a2a1 a3a2 a4a3for i=1 to 4 ai-1=aia4= m1a0mma4void main( ) int a5=1,2,3,4,5;m=a0; for (i=1;i数组查找例6 查找一个数是否在某数列中出现。 vv 顺序查找顺序查找将数列放到数组将数列放到数组a a,待查找的数为待查找的数为x x 把把x x与数组与数组a a中的元素从中的元素从 头到尾一头到尾一 一进行比较一进行比较输入n,a,xleap=0leapleap:标记标记 1:查到 0:没查到i=0i数组插入

6、ai=x 寻找插入点寻找插入点 逐个检测数组元素for i=0 to 7 xai真 break假 插入数据插入数据 向后移动数据 插入7数组a a0 a1 a2 a3 a4 a5 a6 a7 a810 8 5 2 1 0 -1 -7数组a插入前插入后输入数据 操作步骤操作步骤找插入点插入数据输出结果 4i位置j:a7 a8ai=x10 8 51 0 -1 -7 -7-72位置 0xa0?操作 真 插入点是01xa1? 真 插入点是1ixai? 是 插入点是i7xa7? 真 插入点是7假 插入点是8操作结果2a6 a7forj=7to i,-1 aj+1=aj4-1-10 01 12 2ajaj

7、+1例7 在一个降序排列的数列中插入一个数,使新数列保持原序。void main( ) int a9,i,j,x;cinx; for(i=0;iai) break; for(j=7;j=i;j- -) aj+1=aj; ai=x; for(i=0;iai;coutai真 break假forj=7toist-1 aj+1=aj输入数据输出数据数组插入流程图#incude例8 任意输入若干整数,当输 入0时结束输入,找出其中能 被2或3整除的正数,进行升序 排序,输出排序后的结果。 综合分析:找出满足条件的数据, 放到数组a中,并记录数据的 个数gs。 对数组a按小到大排序 。 #include

8、void main() int a50,i,gs=0,j,t,x;cinx;while(x!=0) if(x%3=0|x%2=0)ags=x;gs+;cinx;for(i=0;iaj) t=ai;ai=aj;aj=t;for(i=0;i void main() int a50,i,gs=0,j,t,x;cinx;while(x!=0) if(x%3=0|x%2=0)ags=x;gs+;cinx;for(i=0;iaj) t=ai;ai=aj;aj=t;for(i=0;iy)z=x;int max(int,int);从主函数开始执行return或 数据联系数据联系int max(int x,in

9、t y)#include”stdio.h”第二层层次_函数的应应用一致:函数的定义int max(int x,int y) int z;if(xy) z=x-y;else z=x+y;return( z); 函数首部函数首部类型 函数名(形参数表)函数值的类型 类型类型 函数体函数体变量定义 语句序列 ;return(return(表达式表达式); ); 通过return语句返回值表达式的类型与定义类型的关系 函数值的类型函数值的类型值的类型就是表达式的类型 不一致: 值的类型是定义的类型函数 首部函数体 参数参数 包含类型说明void ps( ) cout7) un+=t/10;un=t%1

10、0; else un=t; main( )for(i=1;inum;leap=sushu(num); if(leap=1)coutn; cinn;for(i=3;i=n;i+) for(i=3;i=n;i+) leap=1;leap=1;for(k=2;ki;k+) for(k=2;ki;k+)if(i%k=0) leap=0; if(i%k=0) leap=0;if(leap) if(leap)sum=sum+1.0/i; sum=sum+1.0/i; coutsum; coutsum; leap=suhu(i);leap=suhu(i);例4 判断素数的函数int sushu(int nu

11、m) int k, leap=1; for(k=2;knum;k+) if(num%k= =0)leap=0; return (leap); 例11 验证歌德巴赫猜 想:一个偶数可以分解为 两个素数之和。 #include“iostream.h“#include“iostream.h“ void main()void main() int i,n,leap,j;int i,n,leap,j;float sum=0.5; float sum=0.5;for(n=6;n=100;n=n+2) for(n=6;n=100;n=n+2) leap=1;leap=1;for(i=3;in;i+) for(i=3;in;i+) leap=sushu(i); leap=sushu(i);if(leap) if(leap) j=n-i;leap=sushu(j);j=n-i;leap=sushu(j);if(leap) if(leap)coutn“=“i“+“j;coutn“=“i“+“j;coutendl; coutendl;break; break;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 文化创意

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号