酷代码 AI
菜单
服务商

C++ 实现:计算 n 个正整数中小于 x 的数的总和

以下是实现该功能的C++代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 读取正整数的个数n cin >> n; int sum = 0; for (int i = 0; i < n; i++) { int num; // 依次读取n个正整数 cin >> num; // 判断当前数是否小于x,如果是则累加到总和中 if (num < 0) { // 输入不符合正整数要求,终止程序 return 1; } if (i == n - 1) { int x; cin >> x; if (x < 0) { // 输入不符合正整数要求,终止程序 return 1; } if (num < x) { sum += num; } } else { cin.ignore(1); // 忽略空格 int nextChar = cin.peek(); if (nextChar == '\n') { // 输入数量不足n个,终止程序 return 1; } if (num < 0) { // 输入不符合正整数要求,终止程序 return 1; } int x; cin >> x; if (x < 0) { // 输入不符合正整数要求,终止程序 return 1; } if (num < x) { sum += num; } } } // 输出小于x的数的总和 cout << sum << endl; return 0; } ``` 代码解释 1. 输入正整数的个数 `n`:使用 `cin` 读取第一行的正整数 `n`,表示后续要输入的正整数的个数。 2. 循环读取 `n` 个正整数:使用 `for` 循环,循环 `n` 次,每次读取一个正整数。 3. 判断是否小于 `x`:在读取每个正整数后,判断该数是否小于 `x`,如果是,则将其累加到总和 `sum` 中。 4. 输出结果:循环结束后,输出小于 `x` 的数的总和 `sum`。 复杂度分析 - 时间复杂度:$O(n)$,其中 $n$ 是正整数的个数。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 ######[AI问答 | 595点数解答 | 2026-01-24 22:53:05]

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