解题思路:
注意事项:
参考代码:
#include<stdio.h> int main() { int n; scanf("%d",&n); int a[n]; for(int i=0;i<n;i++) { scanf("%d",&a[i]); } for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(a[i]==a[j]) { int k=j; while(k+1<n) { a[k]=a[k+1]; k++; } n--;//这是因为去掉相同数之后,后面的往前,数组长度减少 j--;//这里是因为在a[k]=a[k+1],如果有连续两个数与a[i]相同,j自增会跳过后一个相同的数 } } } printf("%d\n",n); int t=0,c=0; for(int i=0;i<n;i++) { if(t!=0) printf(" "); for(int j=i+1;j<n;j++) { if(a[i]>a[j]) { c=a[i]; a[i]=a[j]; a[j]=c; } } printf("%d",a[i]); t++; } return 0; }
0.0分
0 人评分
Pascal三角 (C语言代码)格式错误浏览:551 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:897 |
A+B for Input-Output Practice (C语言代码)浏览:505 |
关于float,double变量的几点说明浏览:1926 |
DNA (C语言代码)浏览:837 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:497 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:856 |
C二级辅导-温度转换 (C语言代码)浏览:575 |
C二级辅导-分段函数 (C语言代码)浏览:790 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:683 |