原题链接:二级C语言-计负均正
解题思路:
根据题意,首先需要定义一个长度为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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复