首页 > 其他 > 详细

[RQNOJ]PID1-明明的随机数

时间:2014-02-27 19:36:05      阅读:582      评论:0      收藏:0      [点我收藏+]

http://www.rqnoj.cn/problem/1

bubuko.com,布布扣
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 /*用法:void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
 5 *参数:
 6 *----->1 待排序数组首地址。
 7 *----->2 数组中待排序元素数量。
 8 *----->3 各元素的占用空间大小。
 9 *------>4 指向函数的指针,用于确定排序的顺序。*/
10 int comp(const void *a,const void *b);/*升序*/
11 
12 /*
13 *函数功能:数组去重
14 *参数:
15 *----->1 待排序数组首地址。
16 *----->2 数组中待排序元素数量。*/
17 int PID1_duplicateRemoval(int *data,int n);
18 
19 /*
20 *函数功能:数组初始化
21 *参数:
22 *----->1 待排序数组首地址。
23 *----->2 数组中待排序元素数量。*/
24 void PID1_initialization(int *data,int n);
25 
26 /*
27 *函数功能:结果输出
28 *参数:
29 *----->1 待排序数组首地址。
30 *----->2 数组中待排序元素数量。*/
31 void PID1_output(int *data,int n);
32 
33 int main(){
34     int i;
35     int n,data[100];
36     while(scanf("%d",&n)!=EOF){
37         PID1_initialization(data,n);
38         qsort(data,n,sizeof(int),comp);
39         PID1_output(data,PID1_duplicateRemoval(data,n));
40     }
41     return 0;
42 }
43 
44 int comp(const void *a,const void *b){
45     return *(int *)a-*(int *)b;
46 }
47 
48 int PID1_duplicateRemoval(int *data,int n){
49     int i,j;
50     i=1,j=0;
51     while(i<n){
52         if(data[i]!=data[j])
53             data[++j]=data[i];
54         i++;
55     }
56     return j+1;
57 }
58 
59 void PID1_initialization(int *data,int n){
60     int i;
61     for(i=0;i<n;i++)
62         scanf("%d",&data[i]);
63 }
64 
65 void PID1_output(int *data,int n){
66     int i;
67     printf("%d\n",n);
68     for(i=0;i<n;i++){
69         if(i)
70             printf(" ");
71         printf("%d",data[i]);
72     }
73     printf("\n");
74 }
bubuko.com,布布扣

[RQNOJ]PID1-明明的随机数,布布扣,bubuko.com

[RQNOJ]PID1-明明的随机数

原文:http://www.cnblogs.com/KurokoTetsuya/p/3570134.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!