C语言课程设计题目太难了

事先预存一个整数数列,显示菜单,让用户选择:

1.插入排序

2.选项排序

3.冒泡排序

用户选择后,打印该序列排序的每一趟步骤。

1.插入排序

2.选项排序

3.冒泡排序

这些排序算法懂吗?

/* Note:Your choice is C IDE */
#include "stdio.h"

//插入排序

void insertSort(int a[10]){
    int i,temp,pos,k;
    for(i=1;i<10;i++)
    {
    	temp=a[i];	
    	pos = i-1;
    	//把前面大于temp的数据往后移
    	while((pos>=0) && (temp<a[pos])){//后面的元素小于前面的元素
    		a[pos+1]=a[pos]; //后面一个元素等于前面一个元素的值    		
    		pos--;
    	}
    	//把temp的值插入到pos+1的位置
    	a[pos+1]=temp;
    	//打印排序过程
    	printf("第%d趟排序过程如下:",i+1);
    	for(k=0;k<10;k++)
    		printf("%d\t",a[k]);
    	printf("\n");
    }
    printf("插入排序之后:\n");
    for(i=0;i<10;i++)
    	printf("%d\t",a[i]);
    printf("\n");
    
}	

//冒泡排序
void BubbleSort(int a[10]){
	int i,j,temp,k;
    for(i=1;i<10;i++)
    {
    	for(j=9;j>=i;j--)
    	{
    		if(a[j]<a[j-1]){
    			temp=a[j];
    			a[j]=a[j-1];
    			a[j-1]=temp;
    		}
    	}
    	//打印排序过程
    	printf("第%d趟排序过程如下:",i+1);
    	for(k=0;k<10;k++)
    		printf("%d\t",a[k]);
    	printf("\n");
    }
    printf("冒泡排序之后:\n");
    for(i=0;i<10;i++)
    	printf("%d\t",a[i]);
	
}
//选择排序
void SelectiontSort(int a[10]){
	int i,j,temp,index,k;
    for(i=0;i<9;i++){
    	temp=a[i];
    	index=i;
    	for(j=i+1;j<10;j++){
    		if(temp>a[j]){
    			temp=a[j];
    			index=j;
    		}
    	}
    	//交换
    	a[index]=a[i];
    	a[i]=temp;
    	//打印排序过程
    	printf("第%d趟排序过程如下:",i+1);
    	for(k=0;k<10;k++)
    		printf("%d\t",a[k]);
    	printf("\n");
    }
    printf("选择排序之后:\n");
    for(i=0;i<10;i++)
    	printf("%d\t",a[i]);

}
void main()
{
    int a[10]={89,1,64,35,74,21,100,99,1000,2};
    int k;
    int n;
    //排序之前:
    printf("排序之前:\n\t\t\t\t");
    for(k=0;k<10;k++)
			printf("%d,",a[k]);
		printf("\n");
	//---------------------------------
	printf("请选择排序:\n");
	printf("1.插入排序:\n");
	printf("2.冒泡排序:\n");
	printf("3.选择排序:\n");
	scanf("%d",&n);
	switch(n){	
    	case 1:
    		insertSort(a);
    		break;
    	case 2:
    		BubbleSort(a);
    		break;
    	case 3:
    		SelectiontSort(a);
    		break;
	}
}

 

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632