从键盘接收十个整数,存储到数组k中 ,完成如下统计:1.统计大于零的数据个数;
2.统计小于零的数据个数;3.计算所有正数的平均值
#include<iostream>
using namespace std;
int main()
{
int k[10];
int count1 = 0, count2 = 0, sum = 0, count3 = 0;
for (int i = 0; i < 10; i++)
{
cin >> k[i];
if (k[i] > 0)
{
count1++;
sum += k[i];
count3++;
}
else if (k[i] < 0)
{
count2++;
}
}
cout << "大于零的数据个数为:" << count1 << endl;
cout << "小于零的数据个数为:" << count2 << endl;
cout << "所有正数的平均值为:" << (double)sum / count3 << endl;
return 0;
}
时间复杂度O(m+n),空间复杂度O(m+n)
#首先定义一个空的列表k
k=[]
#通过for循环,让用户输入十个整数,并添加到列表k中
for i in range(10):
x=int(input('请输入一个整数: '))
k.append(x)
#定义三个变量,分别用于记录大于0的数个数,小于0的数个数以及所有正数的总和
positive_count=0
negative_count=0
positive_sum=0
#遍历列表k,分别判断每个数是大于0还是小于0,如果是大于0,则记录个数和总和;如果小于0,则记录个数
for num in k:
if num>0:
positive_count+=1
positive_sum+=num
elif num<0:
negative_count+=1
#如果k中有大于0的数,则计算平均数
if positive_count>0:
positive_avg=positive_sum/positive_count
else:
positive_avg=0
#输出结果
print('大于0的数据个数为:',positive_count)
print('小于0的数据个数为:',negative_count)
print('所有正数的平均值为:',positive_avg)