1356: 【中级组】移动数字零
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:190
Solved:78
Description
编程竞赛结束了,n个学生的score成绩表上有一些为零的成绩记录,这是当天缺席竞赛的学生成绩记录,组委会老师要求你编写一个函数将所有零移动到score数组的末尾,同时保持非零成绩的相对顺序, 还需要输出零的个数。(成绩为0~100之间的整数)
说明:
(1) 必须在原数组上操作,不能拷贝额外的数组。
(2) n为(1~1000), score[i](0~100)。
示例1:
输入: score[]={0,72,59,0,59,89,53,66}, n=8; 输出: 72 59 59 89 53 66 0 0
2
解释:可使用冒泡排序的思想,将所有 0 依次交换到数组末尾。 因为使用冒泡排序不会改变本题中非零元素的相对顺序, 所以符合题目中保持非零元素相对顺序的要求。
示例1:
输入: score[]={0,72,59,0,59,89,53,66}, n=8; 输出: 72 59 59 89 53 66 0 0
2
解释:可使用冒泡排序的思想,将所有 0 依次交换到数组末尾。 因为使用冒泡排序不会改变本题中非零元素的相对顺序, 所以符合题目中保持非零元素相对顺序的要求。
Input
输入有两行,第一行数组长度 n 。第二行为 score 数组中的 n个数据。数据之间用空格分隔。
Output
输出弟一行为将零移动后的score数组,数据之间用空格分隔。 第二行为一个整数即零的个数。
Sample Input Copy
8
0 72 59 0 59 89 53 66
Sample Output Copy
72 59 59 89 53 66 0 0
2
HINT
提示:
n为(1~1000), score[i](0~100)。
成绩为0~100之间的整数
n为(1~1000), score[i](0~100)。
成绩为0~100之间的整数