noj大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计挑战式课程设计极限挑战挑战,不是为着征服自然,而是为着突破自我,超越自我
生命有极限,思想无极限,高度有极限,境界无极限
作业名称:
算法演示程序 学 院:
航海学院 班 级:
03011403 学 号:
2013300951 姓 名:
苏和 团队组成:
西北工业大学
2022年4月25日
1、问题与背景(描述程序所要解决的问题或应用背景)
2、开发工具(列出所使用的开发工具和第3方开发库)
3、主要功能(详细说明程序的功能)
4、设计内容(详细描述解决问题的原理和方法、算法、数据结构等)
5、程序文件与工程名称(标出程序中所有文件名、工程名称及其说明)
6、函数模块(程序中各个函数的原型声明及其说明)
7、使用说明(运行程序的小型说明书)
8、程序开发总结(简要叙述编写本作业的收获与思考)
进行了巩固和训练。
9、运行截图(附上程序运行的截图画面,至少有1幅,截图越翔实得分越高)
Windows中抓取当前活动窗口:Alt + Print Screen,抓取全屏:Print Screen。或者使用HyperSnap等软件(百度搜索)。
10、源程序(附上程序源代码,若是多个文件,标出文件名)1.sort.cpp
#include
#include
#include "myh.h"
int main()
{
int a[100],n,i,k;
while(1){
printf("\n\t\t\t 欢迎使用排序算法演示程序\n\n\n");
printf(" 请输入所要排序的数据个数N(N<100)=");
scanf("%d",&n);
printf("\n");
printf(" 请输入所要排序的数据:");
printf("\n\n\t");
for(i=0;i printf("\n"); printf(" 请选择一种排序方法:\n\n"); printf("\t1.冒泡排序\t 2.选择排序\t 3.插入排序\n"); printf("\t4.快速排序\t 5.堆排序\t 6.归并排序\t 7.基数排序\n\n"); printf(" 您的选择是:"); scanf("%d",&k); switch(k){ case 1: Bubble(a,n);break; case 2: Selection(a,n);break; case 3: Insertion(a,n);break; case 4: Quick(a,n,0,n-1);break; case 5: Heap(a,n);break; case 6: MergeSort(a,0,n-1);break; case 7: int *a_p = a;Bucket(a_p,n);break; } printf("\n"); printf(" 请选择排列方式:1.从小到大 2.从大到小\n\n"); printf(" 您的选择是:"); scanf("%d",&k); printf("\n\n"); printf(" 结果是:\n\t"); if(k=1){ for(i=0;i } else{ for(i=n-1;i>=0;i--) printf("%d ",a[i]);//倒序输出} printf("\n\n 按Q键并确认退出,其他任意键继续:"); getchar(); if(getchar()=='q') break; printf("\n\n\n"); } return 0; } 2.sort_fun.cpp #include "myh.h" #include #include void Bubble(int a[],int n){//冒泡排序 int i,j,t; for(j=0;j for(i=0;i if(a[i]>a[i+1]){ t=a[i]; a[i]=a[i+1]; a[i+1]=t;//交换 } } void Selection(int a[],int n){//选择排序 int i,j,k,t; for(i=0;i k=i; for(j=i+1;j