P.S.题目来自EOJ
本来抱着快过刷分的心理做的这道题,但无奈水平有限,提交之后在某个样例上一直runtime error。最后在大佬的指点下终于找到了问题并成功AC了ヾ(◍°∇°◍)ノ゙
下面进入正文。
——————————————————————
题目:
1015. 排序去重
单点时限: 2.0 sec
内存限制: 256 MB
有 n 个 1 到 1000 之间的整数 (1≤n≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉。然后再按照指定的排序方式把这些数排序。
输入格式
第 1 行为字母 A 或 D,A 表示按照升序排序,D 表示按照降序排序。
第 2 行开始有若干个用一个空格或换行符分隔的正整数。
输出格式
相互之间用一个空格分隔的经去重和排序后的正整数。最后一个数后没有空格。
样例
input
A
20 40 32 67 40 20 89 300 400 15
output
15 20 32 40 67 89 300 400
——————————————————————
思路:
输入命令 -> 输入数组 -> qsort库函数由小到大排序 -> 输出时,根据命令是A还是D确定顺序,并控制与已经输出重复的元素不再输出
——————————————————————
代码:
以下是错误的代码(有两处错误)(改正方法详见注释)【捂脸】
#include<stdio.h>
#include<stdlib.h>
int compare(const void *a, const void *b)
{
return (*