C++编程 noi 输入三个整数,求出他们的平均值,保留3个小数
时间: 2024-11-12 22:45:51 浏览: 5
在C++编程中,你可以通过以下步骤计算三个整数的平均值并保留三位小数:
```cpp
#include <iostream>
#include <iomanip> // 需要用到iomanip库来进行浮点数的格式化
int main() {
int num1, num2, num3;
float average;
// 输入三个整数
std::cout << "请输入第一个整数: ";
std::cin >> num1;
std::cout << "请输入第二个整数: ";
std::cin >> num2;
std::cout << "请输入第三个整数: ";
std::cin >> num3;
// 计算平均值
average = (float)(num1 + num2 + num3) / 3; // 将整数转换为浮点,以便进行精确的小数运算
// 保留三位小数并输出结果
std::cout << "这三个数的平均值是: " << std::fixed << std::setprecision(3) << average << std::endl;
return 0;
}
```
在这个程序里,我们首先导入`<iostream>`和`<iomanip>`头文件,`std::fixed`确保了输出的小数总是固定位数,而`std::setprecision(3)`则设置了输出的小数位数为3。
相关问题
全屏浏览切换毒局 判断一个int型整数是否是2的n次方,如果是则输出n值,否则输出NO!。输入格式: 输入若干个整数,以空格或换行间隔。输出格式: 对每一个整数,在一行中输出n值或"NOI"输入样例1C语言
这是一个关于二进制表示和判断的问题。在C语言中,你可以通过将数字转换成二进制字符串,并检查该字符串是否只包含一位“1”(即最高位),来确定它是否是2的幂次方。下面是一个简单的C程序示例:
```c
#include <stdio.h>
#include <math.h>
void isPowerOfTwo(int num) {
if (num <= 0) {
printf("NO\n");
} else if (num == 1) {
printf("1\n");
} else {
int n = log2(num);
if (n * pow(2, n) == num) {
printf("%d\n", n);
} else {
printf("NO\n");
}
}
}
int main() {
int num;
while (scanf("%d", &num) != EOF) {
isPowerOfTwo(num);
}
return 0;
}
```
这个程序首先判断输入的数字是否小于等于0,因为负数和0不是2的幂次方。如果数字是1,则直接输出1。对于其他正数,通过计算其以2为底的对数(`log2(num)`),然后验证结果是否满足2的幂关系,如果满足则输出n,否则输出NO。
题目背景 pigstd 是一个可爱的男孩子。他在 NOI2022 中的众数一题定义了 10^610 6 个 std::deque 并没有 MLE。 题目描述 给定一个长度为 nn 的序列 aa,我们通过以下方式构造序列 bb: 初始时 b=ab=a。 依次对 bb 进行 kk 次操作,每次操作选择任意一个元素并将其修改为任意整数。 dXqwq 定义一个序列的众数为所有出现次数最大的数。例如 [1,1,4,5,1,4][1,1,4,5,1,4] 的众数为 11,而 [1,14,5,14,19,19,8,10][1,14,5,14,19,19,8,10] 的众数为 14,1914,19。 你需要求出有多少整数可能成为 bb 的众数。 输入格式 第一行输入两个整数 n,kn,k。 第二行输入 nn 个整数 a_ia i 。 输出格式 输出一个整数,代表可能成为众数的数的数量。 特别地,如果答案为正无穷,输出 pigstd。c++代码
#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
unordered_map<int, int> freq;
for (int i = 0; i < n; i++) {
freq[a[i]]++;
}
int max_freq = 0;
for (auto it = freq.begin(); it != freq.end(); it++) {
max_freq = max(max_freq, it->second);
}
int possible_count = 0;
for (auto it = freq.begin(); it != freq.end(); it++) {
if (it->second + k >= max_freq) {
possible_count++;
}
}
if (possible_count == 0) {
cout << "0" << endl;
} else if (possible_count == n) {
cout << "pigstd" << endl;
} else {
cout << possible_count << endl;
}
return 0;
}
阅读全文