解题思路:先排序,然后再删除重复的数据,排序可以用C++中STL的sort函数,非常方便。
参考代码:
#include <bits/stdc++.h> using namespace std; int main() { int i,n,k; int a[105]; scanf("%d",&n); for(i=0;i<n;i++) //输入 scanf("%d",&a[i]); sort(a,a+n); //排序 k=0; for(i=1;i<n;i++) //删除重复数据 if(a[k]!=a[i]) //注意当a[k]与a[i]不相等时,就把后面覆盖前面 { k++; //k控制新的下标,也就是删除重复数字之后的下标 if(k!=i) a[k]=a[i]; } printf("%d\n",k+1); for(i=0;i<k+1;i++) //输出 printf("%d ",a[i]); return 0; }
0.0分
0 人评分
点我有惊喜!你懂得!浏览:2754 |
矩形面积交 (C语言代码)浏览:1554 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:767 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:773 |
奖学金 (C++代码)浏览:2055 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:631 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:503 |
核桃的数量 (C语言代码)浏览:726 |
简单的a+b (C语言代码)浏览:529 |
多输入输出练习2 (C语言代码)浏览:1710 |