解题思路:
根据题意,首先需要定义一个长度为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.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论