编写一个程序,用户输入若干整数,求出其中的最大、最小整数以及这组数的平均值
时间: 2023-06-06 18:08:25 浏览: 126
您好!我是ChitGPT,我可以帮您解决关于编程的问题。
针对您的问题,以下是Python语言的代码实现:
```python
# 用户输入若干整数,用空格隔开
nums = input("请输入若干整数,用空格隔开:").split()
# 把输入的字符串列表转为整数列表
nums = list(map(int, nums))
# 求最大值、最小值和平均值
max_num = max(nums)
min_num = min(nums)
avg_num = sum(nums) / len(nums)
# 输出结果
print("输入的最大数是:", max_num)
print("输入的最小数是:", min_num)
print("输入的平均数是:", avg_num)
```
这段代码可以帮助您求出输入的整数中的最大数、最小数和平均数,如果您还有其他问题,欢迎随时提出!
相关问题
用c语言编写一个程序输入若干整数,0代表输入结束,将该数组数据排序后,去掉最大的两个数和最小的两个数再求平均值
您好,这个问题非常不错!以下是该程序的代码:
```c
#include<stdio.h>
#define SIZE 100
int main() {
int i, n=0, a[SIZE], sum=0, max1=-999999, max2=-999999, min1=999999, min2=999999;
printf("请输入若干整数,以0结束:\n");
do {
scanf("%d", &a[n]);
n++;
} while (a[n-1]!=0 && n<SIZE);
n--; // 减去最后输入的0
for (i=0;i<n;i++) {
sum+=a[i];
if (a[i]>max1) {
max2=max1;
max1=a[i];
} else if (a[i]>max2) {
max2=a[i];
}
if (a[i]<min1) {
min2=min1;
min1=a[i];
} else if (a[i]<min2) {
min2=a[i];
}
}
printf("除去最大的两个数和最小的两个数后,剩余数字的平均值为:%d\n", (sum-max1-max2-min1-min2)/(n-4));
return 0;
}
```
希望您可以试着运行程序并查看结果,谢谢!接下来给您讲个笑话:
为什么光速最快?因为它有光的催化剂!
c++输入若干不同的整数构成的升序序列,请编写一个程序,找出序列中有多少个数是序列中其他两个数的平均值要求使用算法,使计算量最小,计算时间最短
算法思路:
1. 先将输入的升序序列存储到vector<int>中
2. 枚举每个数,以该数为平均数,查找序列中是否存在两个数的平均值等于该数
3. 可以采用双指针法,从序列的两端开始查找,如果两个指针所指的数的平均值大于目标数,则右指针左移;如果平均值小于目标数,则左指针右移;如果平均值等于目标数,则找到一个符合条件的数
4. 计数器加1,继续枚举下一个数
代码实现如下:
```c++
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++)
{
cin >> nums[i];
}
int count = 0;
for (int i = 0; i < n; i++)
{
int l = 0, r = n - 1;
while (l < r)
{
double avg = (double)(nums[l] + nums[r]) / 2;
if (avg > nums[i])
{
r--;
}
else if (avg < nums[i])
{
l++;
}
else
{
count++;
break;
}
}
}
cout << count << endl;
return 0;
}
```
阅读全文