解题思路:
根据题意,首先需要定义一个长度为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语言代码)浏览:664 |
回文串 (C语言代码)浏览:2846 |
兰顿蚂蚁 (C++代码)浏览:1044 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:517 |
众数问题 (C语言代码)浏览:821 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:543 |
1012题解浏览:861 |
Tom数 (C语言代码)浏览:725 |
一元一次方程 (C语言代码)浏览:4059 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:991 |