栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

PTA:C语言万能的排序函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PTA:C语言万能的排序函数

有n个整数,需要对他们进行各种排序:升序排序、降序排序、按个位数升序排序、按十位数降序排序,为了提高代码的重用性,可以用指向函数的指针作排序函数的参数。
程序输入n+2个整数:
第一行是整数n,表示后面有n个整数需要排序
第二行是待排序的n个整数
第三行是排序需求,分别是1-4,依次表示升序排序、降序排序、按个位数升序排序、按十位数降序排序
程序的输出是排好序的n个整数,两个整数之间用空格隔开

函数接口定义:

需要实现以下函数:

void sort(int *p, int (*compare)(int a,int b), int N);
int  Descending(int a, int b);
int bit1_Des(int a, int b);

其中 p 是数据的首地址, N 是需要排序的数据个数, compare 是指向函数的指针。sort函数用选择法进行排序

裁判测试程序样例:
#include 
void sort(int *p, int (*compare)(int a,int b), int N);

int  Ascending(int a, int b);
int  Descending(int a, int b);
int bit0_Asc(int a, int b);
int bit1_Des(int a, int b);

int main()
{  int n=10,k;
   int *s,*p;
   int (*fun)(int,int);
   scanf("%d",&n);
   p=(int*)malloc(n*sizeof(int));
   for(s=p; sb;
}
int bit0_Asc(int a, int b)
{
    return a%10>b%10;
}


输入样例
11
886 461 856 581 514 272 197 182 564 121 894
3
输出样例
461 581 121 272 182 514 564 894 856 886 197
答案
int  Descending(int a, int b)
{
    return a
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/429763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号