马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 xiaosi4081 于 2020-5-13 13:21 编辑
欢迎来到第三期的C语言小练习
在开始之前,先要说一件事:
我们学生党要开学了
帖子要没人更新了
所以……
也要向外招人了!
要求:
技术水平:中等
题目要求:可以有些提高,但不能太难
题目数量:能保证周更就行
如果有人想加入,又符合要求,请在评论区留言
今天的题目:
小哼的学校要建立一个图书角,老师派小哼去找一些同学做调查,看看同学们都喜欢读哪些书。
小哼让每个同学写出一个自己最想读的书的ISBN号。
当然有一些好书会有很多同学都喜欢,这样就会收集到很多重复的ISBN号。
小哼需要去掉其中重复的ISBN号,即每个ISBN号只保留一个,也就说同样的书只买一本(学校真是够抠门的)。
然后再把这些ISBN号从小到大排序,小哼将按照排序好的ISBN号去书店去买书。请你协助小哼完成“去重”与“排序”的工作。
输入格式:
- 输入有2行,第1行为一个正整数,表示有n个同学参与调查(n<=100)。
- 第2行有n个用空格隔开的正整数,为每本图书的ISBN号(假设图书的ISBN号在1~1000之间)。
复制代码
输出格式:
- 输出也是2行,第1行为一个正整数k,表示需要买多少本书。
- 第2行为k个用空格隔开的正整数,为从小到大已排好序的需要购买的图书ISBN号。
复制代码
例1:
输入:
- 10
- 20 40 32 67 40 20 89 300 400 15
复制代码
输出:
- 8
- 15 20 32 40 67 89 300 400
复制代码
- #include<stdio.h>
- int main()
- {
- int a[1000], n, i, j, t;
- scanf("%d", &n);
- for(i=0; i<n; i++)
- {
- scanf("%d", &a[i]);
- }
-
- for (i=0; i<n-1; ++i) //比较n-1轮
- {
- for (j=0; j<n-1-i; ++j) //每轮比较n-1-i次,
- {
- if (a[j] < a[j+1])
- {
- t = a[j];
- a[j] = a[j+1];
- a[j+1] = t;
- }
- }
- }
- int temp=-1;
- for(i=n-1; i>=0; i--)
- {
- if(temp != a[i])
- printf("%d ", a[i]);
- temp = a[i];
- }
-
- return 0;
- }
复制代码
|