1075: 【明明的随机数】解题报告
来源:互联网 发布:jy淘宝店网址是多少 编辑:程序博客网 时间:2024/05/16 07:53
Time Limit: 1 Sec MemoryLimit: 128 MB
Submit: 93 Solved: 56
[Submit][Status][BBS]
Description
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
Input
有2行,第1行为1个正整数,表示所生成的随机数的个数:
N
第2行有N个用空格隔开的正整数,为所产生的随机数。
Output
也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。
Sample Input
10
20 4032 67 40 20 89 300 400 15
Sample Output
8
15 2032 40 67 89 300 400
这题的题意还是比较简单的,就是对N(N<=100)个范围在M(1<=M<=1000)的随机数进行排序和去重,这里可以先排序在去重,也可以先去重在排序,我是先去重。
由于数据不多,我采用了比较简单的插入排序法,最后把对应的数字放到相应的数组中就可以了
#include <stdio.h>int main(){ int cnt=1,stu[1000],n;//cnt要采访的学生数量 int i,j,temp;scanf("%d",&n); for(i=0; i<n; i++) { scanf("%d",&stu[i]);//随机输入数字,1~1000; } for(i=1; i<n; i++)//取具有不同的数字,即重复数字之取一个 { for( j=0; j<cnt; j++) if(stu[j]==stu[i]) break; if(j==cnt) stu[cnt++]=stu[i]; } printf("%d\n",cnt); for(i=1; i<cnt; i++)//采用插入法排序 { temp=stu[i]; for(j=i-1; j>=0&&temp<stu[j]; j--) stu[j+1]=stu[j]; stu[j+1]=temp; } for(i=0; i<cnt-1; i++) printf("%d ",stu[i]); printf("%d", stu[cnt-1]);//最后一个不需要空格 return 0;}
- 1075: 【明明的随机数】解题报告
- 1075 明明的随机数
- WikiOI 1075 明明的随机数
- CODEVS 1075 明明的随机数
- 【codevs 1075】明明的随机数
- 【codevs 1075】明明的随机数
- Wikioi 天梯 明明的随机数(1075)
- 简单实现 1075 明明的随机数
- wikioi天梯之1075 明明的随机数
- code[vs] 1075 明明的随机数
- 1075 明明的随机数 去重复
- Code Vs-problem-1075 明明的随机数
- water~~~明明的随机数
- 1341. 明明的随机数
- 【模拟】明明的随机数
- 【模拟】明明的随机数
- 1342 明明的随机数
- 明明的随机数
- struct miscdevice
- UNIX环境高级编程——文件和目录
- Error with hilo in NHibernate - “could not read a hi value - you need to populate the table”
- 深信服面试总结
- Python对象的拷贝
- 1075: 【明明的随机数】解题报告
- 计算机领域的所有SCI一区期刊,这是最顶级期刊了
- poj 1141 Brackets Sequence
- OpenStack Keystone的基本概念理解
- tar打包排除指定目录/文件
- 如何学好JAVA
- C#日期格式转换大全
- SEO外链的数量与质量哪个更重要
- 类似百度文库在线预览文档flash swf文库预览