酷代码 AI
菜单

题目描述 现在有n个数(n < 100),乌拉乎想知道以每个数作为终点,有多少个连续相等的数。 请你编写一个程序帮助他完成吧。 输入格式 两行, 第一行一个数字 n n 第二行 n n个正整数 输出格式 一行 n n个正整数,每个数中间用空格隔开 input1 复制 10 1 1 1 1 1 2 2 2 4 8 output1 复制 1 2 3 4 5 1 2 3 1 1 input2 复制 5 2 4 4 9 7 output2 复制 1 1 2 1 1 C++

```cpp #include <iostream> using namespace std; int main() { int n; // 读取数字的个数 cin >> n; int numbers[100]; int results[100]; // 读取n个正整数 for (int i = 0; i < n; i++) { cin >> numbers[i]; } for (int i = 0; i < n; i++) { int count = 1; // 往前遍历,统计连续相等的数的个数 for (int j = i - 1; j >= 0; j--) { if (numbers[j] == numbers[i]) { count++; } else { break; } } results[i] = count; } // 输出结果 for (int i = 0; i < n; i++) { if (i > 0) { cout << " "; } cout << results[i]; } cout << endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 数组越界问题,在遍历数组时要确保索引在合法范围内。 2. 输入格式的正确性,要严格按照题目要求的格式读取输入。 3. 输出格式的正确性,注意数字之间的空格和行末的换行符。 [2026-01-29 14:08:39 | AI写代码神器 | 340点数解答]

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