问题描述:小明的老师布置了一份调查作业,小明想在学校中随机找N个同学一起做一项问卷调查,聪明的小明为了实验的客观性,他先随机写下了N个1到1000之间的整数(0<N≤1000),不同的数对应着不同的学生的学号。但他写下的数字难免会有重复数字,小明希望能把其余重复的数去掉,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
输入:输入有2行,第1行为1个正整数,表示整数的个数:N.第2行有N个用空格隔开的正整数,表示小明写下的N个整数。
输出:输出也是2行,第1行为1个正整数M,表示不相同的整数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的整数。
样例输入
10
20 40 32 67 40 20 89 300 400 15
样例输出
8
15 20 32 40 67 89 300 400
思路:去重操作在输入时完成,将输入数据和已输入的数据一一比较,都不相同的数据存入数组;
注:(1)现在的C支持变量声明数组了!!!不用再使用指针定义动态数组了
(2)scanf()输入数据时一定要加取地址符!!!
(3)像循环体中的flag变量,每次循环前都要更新!注意位置!!
(4)考试时关键语句一定要注释,写完一定要
C语言实现调查作业:去重与排序
本文介绍了一道C语言编程题,题目要求从输入的一组整数中去除重复元素并进行排序。小明需要找到N个不同的学号进行问卷调查,通过编程实现去重和排序的功能。样例输入和输出展示了具体的操作过程,同时提供了编程思路和注意事项,包括利用C语言的数组特性、正确使用scanf函数以及循环中变量的更新等。
订阅专栏 解锁全文
500

被折叠的 条评论
为什么被折叠?



