酷代码 AI
菜单
服务商

题目描述 现在有 n n个数(n < 100),乌拉乎想知道以每个数作为终点,有多少个连续相等的数。 请你编写一个程序帮助他完成吧。 输入格式 两行, 第一行一个数字 n n 第二行 n n个正整数 输出格式 一行 n n个正整数,每个数中间用空格隔开。答案(c++)

以下是解决该问题的 C++ 代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 读取数字的个数 cin >> n; int numbers[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; } } // 输出以当前数为终点的连续相等数的个数 cout << count; if (i < n - 1) { cout << " "; } } cout << endl; return 0; } ``` 代码解释: 1. 首先读取数字的个数 `n`。 2. 接着使用数组 `numbers` 存储输入的 `n` 个正整数。 3. 对于每个位置 `i`,从该位置往前遍历,统计连续相等的数的个数。 4. 输出以当前数为终点的连续相等数的个数,数与数之间用空格隔开。 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 注意数组下标越界问题,在往前遍历统计连续相等数的个数时,要确保下标不小于 0。 2. 输出格式要严格按照要求,数与数之间用空格隔开,最后一个数后面不能有多余的空格。 3. 由于题目限定 `n < 100`,数组大小可以设置为 100,但如果 `n` 的范围可能变化,需要考虑动态数组的使用。 [2025-10-28 19:36:38 | AI写代码神器 | 460点数解答]

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