在线编译器 C

#include <stdio.h> int main() { int a[10], i; for (i = 0; i < 10; i++) { scanf("%d", &a[i]); } for (i = 0; i < 10; i++) { if (a[i] > 0) printf("%d", a[i]); } for (i = 0; i < 10; i++) { if (a[i] < 0) printf("%d", a[i]); } return 0; }
这段代码的功能是:先读入10个整数存入数组,然后先输出所有正数,再输出所有负数。但输出时数字之间没有空格或换行,会连在一起。

- 你的代码只处理了正数和负数,但没有处理0。题目要求中0应该如何处理?检查一下是否遗漏了对0的判断。
- 输出格式上,数字之间最好用空格隔开,否则多个数字会连成一串,比如"12-3"难以分辨。考虑在每次printf时添加一个空格。