酷代码 AI
菜单

给出n个数,每个数都小于1000。禾木喜欢是8的倍数,且不含8的数。请找出n个数中所有禾木喜欢的数吧。 【提示】小于1000的数最多为三位数,可以用a[i]%10计算出个位,a[i]/10%10计算出十位,a[i]/100计算出百位。 输入: 共两行。 第一行为一个整数n(1<n<100)。 第二行为n个整数。 输出: 一行若干个数,表示n个数中所有禾木喜欢的数,相邻数字之间用空格隔开。 输入样例: 1: 5 8 10 16 24 81 输出样例: 1: 16 24 输入样例: 2: 6 88 60 64 120 51 808 输出样例: 2: 64 120 时间/内存: 1000MS/100MB C++

```cpp #include <iostream> using namespace std; int main() { int n; // 读取整数n,表示数字的个数 cin >> n; int a[100]; for (int i = 0; i < n; i++) { // 读取n个整数并存储在数组a中 cin >> a[i]; } bool first = true; for (int i = 0; i < n; i++) { if (a[i] % 8 == 0) { int num = a[i]; bool hasEight = false; while (num > 0) { if (num % 10 == 8) { hasEight = true; break; } num /= 10; } if (!hasEight) { if (!first) { cout << " "; } cout << a[i]; first = false; } } } cout << endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 注意数组的大小,这里根据题目中n的范围定义了大小为100的数组,若n的范围改变需要相应调整。 2. 在输出结果时,要注意数字之间的空格处理,避免多余的空格。 3. 判断数字中是否含8的逻辑要正确,这里使用了循环逐位判断的方法,要保证循环逻辑的正确性。 [2026-01-24 19:29:51 | AI写代码神器 | 363点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多