酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++连续相等数字计数算法实现

好的,我来为您提供一个C++的解决方案。 这个问题要求对于输入的每个数字,输出从该位置开始有多少个连续相等的数字。 ## 🖥 C++代码实现 ```cpp #include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; vector<int> arr(n); for (int i = 0; i < n; i++) { cin >> arr[i]; } vector<int> result(n, 1); for (int i = 0; i < n; i++) { int count = 1; for (int j = i + 1; j < n; j++) { if (arr[j] == arr[i]) { count++; } else { break; } } result[i] = count; } for (int i = 0; i < n; i++) { if (i > 0) cout << " "; cout << result[i]; } cout << endl; return 0; } ``` ## 💡 代码解释 1. **读取输入**:先读取数字个数`n`,再读取`n`个数字存储到数组`arr`中。 2. **核心逻辑**:对于每个位置`i`,从`i+1`开始向后遍历,只要遇到相同的数字就增加计数,遇到不同的数字就停止。 3. **结果输出**:将每个位置的结果按顺序输出,数字间用空格分隔。 ### 📝 示例演示 **输入:** ``` 8 1 1 2 2 2 3 3 4 ``` **计算过程:** - 第1个1:向后有1个连续相同的1 → 计数2 - 第2个1:向后有0个连续相同的1 → 计数1 - 第3个2:向后有2个连续相同的2 → 计数3 - 第4个2:向后有1个连续相同的2 → 计数2 - 第5个2:向后有0个连续相同的2 → 计数1 - 第6个3:向后有1个连续相同的3 → 计数2 - 第7个3:向后有0个连续相同的3 → 计数1 - 第8个4:向后有0个连续相同的4 → 计数1 **输出:** ``` 2 1 3 2 1 2 1 1 ``` ######[AI问答 | 553点数解答 | 2026-06-07 12:03:30]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]