一道c语言的简单题目 求帮忙
写一个排序函数sort功能是对n个数进行降序排列main函数中输入十个数调用sort函数后输出排序结果...
写一个排序函数sort 功能是对n个数进行降序排列 main函数中输入十个数 调用sort函数后 输出排序结果
展开
2个回答
展开全部
#include <stdio.h>
#define NUMSIZE 5
int a[NUMSIZE];
void PopSort()
{
int i, j, temp;
temp = 0;
for(i=1; i<NUMSIZE; i++)
{
for(j=0; j<NUMSIZE-i; j++)
{
if(a[j]<a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
return;
}
int main()
{
int i;
for(i=0; i<NUMSIZE; i++)
{
printf("a[%d]: ", i);
scanf("%d", &a[i]);
getchar();
}
PopSort();
printf("After sort: \n");
for(i=0; i<NUMSIZE; i++)
{
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
n个数这里宏定义设置为5个。
#define NUMSIZE 5
展开全部
想用什么排序算法实现?数是整型?
追问
整形
追答
/*直接冒泡了*/
#include<stdio.h>
typedef enum {size = 10} _const;
void bubbleSort(int arr[],int n) {
int i,j,temp;
for(i = 0;i < n;i++) {
for(j = 0;j < n-i-1;j++) {
if(arr[j] < arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
void show(int arr[],int n) {
int i;
--n;
for(i = 0;i < n;i++) printf("%d ",arr[i]);
printf("%d\n",arr[n]);
}
int main()
{
int arr[size],i;
for(i = 0;i < size;i++) scanf("%d",&arr[i]);
bubbleSort(arr,size);
show(arr,size);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询