爱编程的小笨孩


私信TA

用户名:2119394720

访问量:20560

签 名:

我在成长,总有一天我会足够优秀。

等  级
排  名 162
经  验 6820
参赛次数 6
文章发表 44
年  龄 0
在职情况 学生
学  校 黄河科技学院
专  业 软件工程

  自我简介:

一只想要当凤凰的鸡

TA的其他文章

解题思路:
根据题意,首先需要定义一个长度为20的数组来保存20个整数,然后定义sum保存所有正数的和,aver保存所有正数的平均值。


再定义num保存负数的个数,接着用for循环依次输入20个数(这里为了简化代码并提高运行效率只使用一个循环),所以当输入一个整数后,就直接判断该数是正数还是负数。


如果是负数,则num++;如果是正数,则将该数累加到sum中。当循环结束后,每个数的正负也已经做出了判断,然后求所有正数的平均值,因为平均值不一定是整数,所以aver定义为double类型,同时在赋值时乘1.0,也可以进行强制类型转换。


当所有需要的值都被计算出后,则使用cout进行输出。


注意事项:

参考代码:

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    //定义一个数组保存20个整数
    int arr[20];
    int i;
    //定义sum表示所有正数的和
    int sum = 0;
    //定义aver表示正数的平均值
    double aver = 0;
    //定义num记录负数的个数
    int num = 0;
    for(i=0;i<20;i++)
    {
        //从键盘接受20个整数
        cin>>arr[i];
        //判断输入的整数是否是负数,如果是则count+1
        if(arr[i]<0)
        {
            num++;
        }
        //判断输入的整数是否是正数,如果是则累加到sum中
        if(arr[i]>0)
        {
            sum+=arr[i];
        }
    }
    //计算所有正数的平均值
    aver = 1.0*sum/(20-num);
    //输出负数的个数
    cout<<num<<endl;
    //输出整数的平均值
    cout<<fixed<<setprecision(2)<<aver<<endl;
    return 0;
}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区