Онлайн компилятор C

#include <stdio.h> int main() { int a[10]; for (int i = 0; i < 10; i++) { scanf("%d", &a[i]); } for (int i = 0; i < 10; i++) { if( (a[i]/10)%10==0) printf ("%d",a[i]); } return 0; }
这段代码的功能是:读取10个整数存入数组,然后输出其中十位数字为0的数(即十位是0的数,比如5、105等)。

- 条件判断 `(a[i]/10)%10==0` 是用来提取数字的十位数字,但要注意负数的情况。例如,如果输入的是负数,比如 -105,`a[i]/10` 在C语言中是向零取整,结果可能是 -10,再取模10得到 -0(即0),但逻辑上负数的十位数字判断可能不符合预期。你可以思考一下负数是否应该被包含,以及如何正确处理。
- 另外,输出时没有加空格或换行,所有符合条件的数会连在一起输出,比如输入 5 和 105 会输出 "5105"。你可以考虑是否需要添加分隔符让输出更清晰。