定义两个一维数组,循环输入数据,回车结束输入,正数放在一个数组中,负数放在另外一个数组中。
2条回答 默认 最新
- 守时间的孤岛 2023-04-18 17:04关注
该回答引用chatgpt:
#include <iostream> using namespace std; int main() { const int n = 20; // 数据个数 int nums[n]; // 存储输入的数字 int pos[n], neg[n]; // 存储正数和负数 int pos_count = 0, neg_count = 0; // 正数和负数的数量 int neg_sum = 0; // 负数的总和 // 循环输入数据 for (int i = 0; i < n; i++) { cin >> nums[i]; // 统计正数和负数的数量,并分别存储 if (nums[i] >= 0) { pos[pos_count] = nums[i]; pos_count++; } else { neg[neg_count] = nums[i]; neg_count++; neg_sum += nums[i]; } } // 冒泡排序 for (int i = 0; i < pos_count - 1; i++) { for (int j = 0; j < pos_count - i - 1; j++) { if (pos[j] > pos[j+1]) { int temp = pos[j]; pos[j] = pos[j+1]; pos[j+1] = temp; } } } // 输出结果 cout << "负数个数:" << neg_count << endl; cout << "负数总和:" << neg_sum << endl; cout << "正数从小到大排序结果:"; for (int i = 0; i < pos_count; i++) { cout << pos[i] << " "; } cout << endl; return 0; }
以上代码中,首先定义了一个 nums 数组用于存储输入的数字,然后定义了 pos 和 neg 数组分别用于存储正数和负数。接着使用一个循环读取用户输入的数字,同时统计正数和负数的数量,并将其存储到对应的数组中。同时,在存储负数时,将其加入到负数的总和 neg_sum 中。
接着使用冒泡排序算法对正数进行排序,最后输出结果。
程序的输出结果为:
-3 -5 -7 2 5 8 -9 1 -4 3 6 7 0 -2 -1 4 -8 9 -6 -10 负数个数:10 负数总和:-55 正数从小到大排序结果:0 1 2 3 4 5 6 7 8 9
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 西南科技大学数字信号处理
- ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
- ¥30 STM32 INMP441无法读取数据
- ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥15 pyqt信号槽连接写法
- ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。