- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]C语言C07-1一维数组
在有序数组中插入数组元素小结 定义数组,如a[6]; 将5赋给变量n,然后从键盘输入各元素的值; 将数组排序:从大到小或从小到大; 从键盘输入要插入的数据; 判断数据的插入位置: 是否在数据第一个元素前面插入:将所有数据元素后移;将k赋值给第一个数组元素; 是否在数组最后一个元素后面插入:将k直接赋值给最后一个数组元素; 是否在数组的中间元素插入:找插入位置;后移数组元素;将K赋值给数组元素; * * * * main() {int a[10],k,i,m,n,j,max,t;/*m控制数组的元素个数*/ clrscr(); n=10; for(i=0;i10;i++) scanf(%d,a[i]); for(i=0;i9;i++) { max=i; for(j=i+1;j10;j++) if(a[max]a[j]) max=j; if(max!=i) { t=a[max]; a[max]=a[i]; a[i]=t; } } for(i=0;i10;i++) printf(%5d,a[i]); printf(\nplease input to be deleted number:); 4.在有序数组中删除数组元素 scanf(%d,k); for(i=0;in;i++) /*判断输入的数据是否在数组中*/ if(k==a[i]) /*在,数组的元素个数减1,同时退出循环*/ { m=n-1; for(j=i;jn;j++) a[j]=a[j+1];/*将数组元素前移*/ for(i=0;im;i++) printf(%4d,a[i]); break; /*退出循环*/ } else /*不在,数组的元素个数不变*/ if(n-1==i) {m=n;printf(will be deleted dont exist\n);} printf(\n);getch();} * * 数组排序:从大到小排序或从小到大; 从键盘输入要删除的数据; 通过循环判定数据是否在数组中:for(i=0;in;i++) /*判断输入的数据是否在数组中*/ if(k==a[i]) /*在,数组的元素个数减1,同时退出循环*/ 在-----数组个数减1,将a[i]后的数组元素依次前移一个位置;同时退出循环; 不在-----数组个数不变,同时输出“要删除的数据不在数组中”的提示。 一维数组应用(五):在有序数组中删除数组元素小结 * * 例:输入若干个0到9之间的整数,统计各整数的个数。 分析: 输入整数的个数没有限定,因此在输入时应设置输入结束条件。由于输入的整数范围是0到9,因此可以用该范围以外的特殊数作为结束标志,比如-1.输入过程中,若想结束输入,则可以输入结束标志-1,程序将停止输入,进入下一步处理。统计各数的个数用一维数组b记录。由于输入的整数范围是0到9,我们可以利用b[0]记录0的个数,用b[1]记录1的个数,…,用b[0]记录9的个数。即用数组元素b[i]作为计数器来统计各数的个数。设输入的整数存放在数组a中,则b[a[k]]存放的就是整数a[k]的个数。如a[k]=5,则b[a[k]]=b[5]即整数5的个数。 数组作计数器的其它例题 * * #define N 100 main(){ int i,j,k=0,a[N],b[10]; printf(input a integer(0---9),end with -1\n); scanf(%d,j); /*变量j初始化*/ while(j=0j=9) {a[k]=j;k++;scanf(%d,j);} /*输入若干个0-9之间的整数*/ for(i=0;i10;i++) b[i]=0; for(i=0;ik;i++) /*统计各个数字的个数*/ switch(a[i]) { case 0:b[0]++;break; case 1:b[1]++;break; case 2:b[2]++;break; case 3:b[3]++;break; case 4:b[4]++;break; case 5:b[5]++;break; case 6:b[6]++;break; case 7:b[7]++;break; case 8:b[8]++;break; case 9:b[9]++;break; } for(i=0;i10;i++) printf(%d:%d\n,i,b[i]); getch();} 参考程序1 * * #define N 1
文档评论(0)