Online Compiler C

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

- 条件 `(A[i] / 10) % 10 == 0` 检查的是数字的十位是否为0。例如对123,先除以10得12,再取模10得2,不等于0。但对105,除以10得10,取模10得0,所以会输出。注意这个条件对个位数(如5)也成立,因为5/10=0,0%10=0,所以个位数也会被输出。

- 思考一下:如果题目要求的是“十位数字为0”但排除个位数,或者要求的是“能被10整除”,你的条件可能需要调整。另外,如果输入包含负数,除法取模的行为可能不同,需要留意。