预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

高级语言程序设计课程设计题目:专业计算机类班级计算机类1102学生学号指导老师_______________起止时间.2.13——.2.172月目录试验汇报3必做题:3选做题:8题目10写一个日历显示程序8步骤图:(以下)14工程代码:19心得体会24试验汇报必做题:(1)编一程序对2种排序方法进行比较:交换法、选择法、插入法、冒泡法四种方法选2。具体比较方法是随机生成一组(≥300个)100以内整数数据,用选定2种排序方法进行排序。纪录排序过程中数据比较和交换次数,输出比较结果。#include<stdio.h>#include<stdlib.h>intmain(void){inta[300],b[300];inti,j,temp,t;ints=0,p=0,s1=0,p1=0;for(i=0;i<300;i++){a[i]=rand()%100;b[i]=a[i];}for(i=0;i<299;i++){for(j=i+1;j<300;j++){if(a[i]<a[j]){temp=a[i];a[i]=a[j];a[j]=temp;s++;}p++;}}printf("%d%d\n",s,p);printf("\n");for(i=0;i<299;i++){t=i;for(j=i+1;j<300;j++){if(b[t]<b[j])t=j;if(t!=i){temp=b[i];b[i]=b[t];b[t]=temp;s1++;}p1++;}}printf("%d%d\n",s1,p1);return0;}运行结果:在这个题目中选择了交换法和选择法,首先要产生300个随机数,其次要知道两种排序法原理,然后进行编程,同时利用循环结构。关键在于产生随机数和排序。经过比较发觉交换法交换次数比选择法少,比较次数二者一样。(2)写一个函数voidmaxMinAver(int*data,int*max,int*min,float*ave,intsize),求一组数据最大值、最小值和平均值,测试之。其中data指向给定数据数组指针,max、min、ave分别指向最大值、最小值和平均值,size是数组大小。要求第一个实参是数组,第2、3、4个实参全部是对一般简单变量某种操作,最终一个实参是数组大小。测试之#include<stdio.h>voidmaxMinAver(int*data,int*max,int*min,float*ave,intsize);intmain(void){int*data,*max,*min,size;float*ave;maxMinAver(data,max,min,ave,size);return0;}voidmaxMinAver(int*data,int*max,int*min,float*ave,intsize){inta[10];intb,c,n,j,s=0,temp;floatd;data=a;max=&b;min=&c;ave=&d;for(n=0;n<10;n++){scanf("%d",&a[n]);}//交换法排序求最大最小值for(n=0;n<9;n++){for(j=n+1;j<10;j++){if(a[n]<a[j]){temp=a[n];a[n]=a[j];a[j]=temp;}}}b=a[0];c=a[9];//求平均数for(n=0;n<10;n++){s=s+a[n];}d=(float)s/10;printf("%d%d%f",*max,*min,*ave);}这个题目需要利用函数调用,还要利用指针间接引使用方法,设计函数将最大、最小和平均值求出来。关键是函数调用。选做题:题目10写一个日历显示程序基础功效:1).输入任十二个月将显示出该年全部月份日期,对应星期2).注意闰年情况其显示格式要求以下:1)月份:汉字英文全部能够,2)下一行显示星期,从周日到周六,中英文全部能够3)下一行开始显示日期从1号开始,并按其是周几实际情况和上面星期数垂直对齐当输入显示以下:Inputtheyear:Inputthefilename:aThecalendaroftheyear.Januray1February2SunMonTueWedThuFriSatSunMonTueWedThuFriSat123123456745678910891011121314111213141516171516171819202118192021222324222324252627282526272829303129======================================================March3April4SunMonTueWedThuFriSatSunMonTueWedThuF