书签 分享 收藏 举报 版权申诉 / 12
上传文档赚钱

类型c语言编程有关数组的几道例题.doc

  • 上传人(卖家):刘殿科
  • 文档编号:5966895
  • 上传时间:2023-05-19
  • 格式:DOC
  • 页数:12
  • 大小:32KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《c语言编程有关数组的几道例题.doc》由用户(刘殿科)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言 编程 有关 数组 例题
    资源描述:

    1、实验四 一维数组、二维数组一、实验目的与要求1、熟练掌握一维数组、二维数组的定义、赋值和输入输出的方法。 2、掌握与数组有关的算法。二、实验内容1、(1)输入N个整数,使用冒泡排序,将数据由大到小输出。#include #includevoid swap2(int*,int*);void bubble(int a,int n);int main(void) int n,a8; int i; printf(Enter n(n=8):); scanf(%d,&n); printf(Enter a%d:, n); for(i=0;in;i+) scanf(%d, &ai); bubble(a,n);

    2、printf(After sorted,a%d=, n);for(i=0;in;i+) printf(%3d,ai);return 0;void bubble(int a,int n) /*n是数组a中待排序元素的数量*/ int i,j; for(i=1;in;i+) /*外部循环-请问这个嵌套循环怎么理解*/ for(j=0;jaj+1) swap2(&aj,&aj+1); /*交换*/void swap2(int *px,int *py) int t;t=*px;*px=*py;*py=t;单向冒泡排序法:/输入10个整数,按从大到小输出/#includevoid main()int i

    3、,j,t,a10;printf(请输入10个整数n);for(i=0;i10;i+)scanf(%d,&ai);for(j=1;j10;j+) /10个数要来回做(10-1)趟次/for(i=1;iai-1) /每做完一趟,就会将数组中较小的一个数沉淀下来,较大的数不断往上冒/t=ai;ai=ai-1;ai-1=t;printf(按从大到小排序输出结果是:n);for(i=0;i10;i+)printf(%-3d,ai);printf(n);双向冒泡排序法:/输入10个整数,按从大到小输出/#includevoid main()int i,j,t,k,a10;printf(请输入10个整数n)

    4、;for(i=0;i10;i+)scanf(%d,&ai);for(j=1;j10;j+) /10个数要来回做(10-1)趟次/ for(i=1;iai-1) /每做完一趟,就会将数组中较小的一个数沉淀下来,较大的数不断往上冒/ t=ai;ai=ai-1;ai-1=t; for(k=i-1;k0;k-) /与单向冒泡不同的是,这是双向冒泡的关键,每一次从顶至下比较完一次后,同时再从下/ if(akak-1) /至上比较一次,也就是说每一趟数组中的元素两两比较了两次,这就是双向冒泡排序了/ t=ak;ak=ak-1;ak-1=t; printf(按从大到小排序输出结果是:n);for(i=0;i

    5、10;i+)printf(%-3d,ai);printf(n); $(2)输入N个整数,使用改进的冒泡排序,将数据由大到小输出。#include #includevoid swap2(int*,int*);void bubble(int a,int n);int main(void) int n,a8; int i; printf(Enter n(n=8):); scanf(%d,&n); printf(Enter a%d:, n); for(i=0;in;i+) scanf(%d, &ai); bubble(a,n);printf(After sorted,a%d=, n);for(i=0;

    6、in;i+) printf(%3d,ai);return 0;void bubble(int a,int n) /*n是数组a中待排序元素的数量*/ int i,j; for(i=1;in;i+) /*外部循环-请问这个嵌套循环怎么理解*/ for(j=0;jaj+1) swap2(&aj,&aj+1); /*交换*/void swap2(int *px,int *py) int t;t=*px;*px=*py;*py=t;2、*输入N-1个整数组成一数列,再输入某数x,先将数列排序,根据x的值插入到有序数列中。#include main () void Rank(int N,int n);

    7、int i,j,k; int n11; printf(请输入10个整数:); for(i=0;in9) n10=k; else for(i=0;ni=i;j-) nj+1=nj; /腾出位置,用以插入所输入的数ni=k; printf(n排序后此数列按升序排列为:); for(i=0;i=10;i+) printf(%-4d,ni); void Rank(int N,int n) int i,k,iTemp; for(k=1;k=k;i-) if(ni-1ni) iTemp=ni; ni=ni-1; ni-1=iTemp; printf(排序后此数列按升序排列为:); for(i=0;i=N-

    8、1;i+) printf(%-4d,ni); printf(n); 3、输入行数n,打印出杨辉三角。#include int main() int yh101101=,0,1,i,n,m; scanf(%d,&m); /*输入要打印的行数,不能太大。我水平不高。*/ for(i=2;i=m;i+) yhi1=yhii=1; for(n=2;ni;n+) yhin=yhi-1n-1+yhi-1n; for(i=1;i=m;i+) for(n=1;n=i;n+) printf(%d ,yhin); printf(n); return 0;#include#includemain() int a88

    9、,i,j; for(i=0;i8;i+)for(j=0;jj&j=1)aij=ai-1j+ai-1j-1;else aij=0; for(i=0;i8;i+) for(j=0;j=i;j+) printf(%3d,aij); printf(n); 4、青年歌手参加歌曲大奖赛计分系统(1)有N个评委进行打分,求这位选手的平均得分(去掉一个最高分和一个最低分)。#include #include #include void bubble_sort(int a,int n) int i,j, itmp; for (i =0; in;i+) for(j=i+1 ;j= aj) itmp = aj; a

    10、j = ai; ai = itmp; int main( int argc, char *argv) int iguide10 = 0; srand(unsigned )time(NULL); for (int i = 0 ; i 8;i+) int isum = 0; for (int j = 0 ; j 10; j+) iguidej = rand()%10 +1; bubble_sort(iguide,10); for (int l = 1;l=8; l+) isum += iguidel; printf(The avg score the %d singer get is %d n ,

    11、i+1,isum/8); return 0;$(2)有N个评委进行打分,求M个选手每个人的平均得分(去掉一个最高分和一个最低分),并按平均得分由高到低排序输出。#5、输入N个整数,使用选择排序,将数据由大到小输出。#include .5f出大于m并且紧随m的n个素数,并存入数组中,输出,m和n从键盘输入。4.将一个数组中的值按逆序重新存放。#includemain() int a5, i, temp; /*定义数组及变量为基本整型*/ printf(please input array a:n); for (i = 0; i 5; i+) /*逐个输入数组元素*/ scanf(%d, &ai); printf(array a:n); for (i = 0; i 5; i+) /*将数组中的元素逐个输出*/ printf(%d , ai); printf(n); for (i = 0; i 2; i+) /*将数组中元素的前后位置互换*/ temp = ai; /*元素位置互换的过程借助中间变量temp*/ ai = a4-i; a4-i = temp; printf(Now array a:n); for (i = 0; i 5; i+) /*将转换后的数组再次输出*/ printf(%d , ai);三、源程序四、程序结果五、总结

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:c语言编程有关数组的几道例题.doc
    链接地址:https://www.163wenku.com/p-5966895.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库