算是对前几天学习的化用吧,用到了数组与动态内存。
目前只能比较正数(其实是我懒得改了XD),把i改成一个很小的负数应该就行了。
#include#include int main(void) { int r; int* a, * b; scanf_s("%d", &r); //先输入一共有多少个数 a = (int*)malloc(r * sizeof(int)); b = (int*)malloc(r * sizeof(int)); int i, n = 0, m = 0, c = 0, d; for (i = 0; i < r; i++) { scanf_s("%d", &a[i]); //输入这些数 } for (i = 0; c != r; i++) { for (n = 0; n < r; n++) { if (a[n] == i) { b[c] = i; c++; d = 1; } } } for (i = 0; i < r; i++) { printf("%d ", b[i]); } free(a); free(b); return 0; }
以上。我是新手,难免有错误与不足,若你有更好的意见,欢迎在评论区提出,共勉!



