解题思路:1.先对一组数进行排序这样相等的数会相邻,例如对样例进行排序,
15 20 20 32 40 40 67 89 300 400
2. 比如输出20的时候,与它的下一个数20比较,如果相等那么不输出。即可。
3.第一次可以先统计输出了多少个数
4.最后再输出不同的数即可。
注意事项:虽然容易懂,但是效率比较低
参考代码:
#include <stdio.h> #include <math.h> int main() { int a[10000],n,i,b[10000],min,t,j,d; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(i=0;i<n;i++){ min=i; for(j=i;j<n;j++){ if(a[min]>a[j]) min=j; } t=a[min]; a[min]=a[i]; a[i]=t; } t=0; d=0;//统计不相等的数 for(i=0;i<n;i++)//统计有多少个数不相同的 { if(a[i]!=t) { d++; } t=a[i]; } printf("%d\n",d); for(i=0;i<n;i++)//输出不相同的数 { if(a[i]!=t) { printf("%d ",a[i]); } t=a[i]; } }
0.0分
0 人评分
C二级辅导-统计字符 (C语言代码)浏览:541 |
C二级辅导-进制转换 (C语言代码)浏览:615 |
C语言训练-数字母 (C语言代码)浏览:585 |
校门外的树 (C语言代码)浏览:961 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:485 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:506 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1072 |
出圈】指针malloc版浏览:355 |
1054题解浏览:467 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:690 |