2301_77249387 2023-04-18 16:50 采纳率: 75%
浏览 74
已结题

用C++编写输入20个整数(其中有负数),统计其中负数的个数,并计算负数的和,然后将正数从小到大进行排序(用冒泡法)并输出。

定义两个一维数组,循环输入数据,回车结束输入,正数放在一个数组中,负数放在另外一个数组中。

  • 写回答

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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月18日

悬赏问题

  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。