用c语言实现:在主函数中由键盘输入三个实数,输出最大值与最小值的 差。
时间: 2023-07-15 08:15:33 浏览: 94
下面是实现该功能的 C 语言代码:
```c
#include <stdio.h>
int main() {
float a, b, c, max, min;
printf("请输入三个实数:");
scanf("%f%f%f", &a, &b, &c);
// 假设 a 是最大值
max = a;
// 判断 b 是否比当前最大值更大
if (b > max) {
max = b;
}
// 判断 c 是否比当前最大值更大
if (c > max) {
max = c;
}
// 假设 a 是最小值
min = a;
// 判断 b 是否比当前最小值更小
if (b < min) {
min = b;
}
// 判断 c 是否比当前最小值更小
if (c < min) {
min = c;
}
printf("最大值与最小值的差为:%f\n", max - min);
return 0;
}
```
在上面的代码中,我们定义了三个实数变量 `a`、`b`、`c`,用 `scanf` 函数从键盘输入这三个实数。然后,我们分别比较这三个实数,找出其中的最大值和最小值,并计算它们的差值。最后,用 `printf` 函数将差值输出到屏幕上。
相关问题
C语言写输入8个实数输出最大值,最小值,和,平均值
你好,这是一个关于C语言的问题。以下是解答:
您可以通过以下代码来实现输入8个实数并输出它们的最大值、最小值、和、平均值:
```
#include <stdio.h>
int main()
{
double arr[8];
int i;
double sum = 0;
double max, min;
for(i = 0; i < 8; i++) { // 获取输入值
printf("请输入第 %d 个实数:", i+1);
scanf("%lf", &arr[i]);
if(i == 0) { // 初始化max和min为第一个输入值
max = arr[i];
min = arr[i];
} else { // 找到最大和最小值
if(arr[i] > max) {
max = arr[i];
}
if(arr[i] < min) {
min = arr[i];
}
}
sum += arr[i]; // 计算总和
}
printf("最大值为 %.2lf,最小值为 %.2lf,和为 %.2lf,平均值为 %.2lf。", max, min, sum, sum/8.0);
return 0;
}
```
希望对您有所帮助!
用c语言定义一个包含10个元素的实数数组,从键盘输入值给数组赋值,求数组中最大值和最小值
好的,以下是一份 C 语言代码实现:
```c
#include <stdio.h>
int main() {
const int N = 10; // 数组长度
double arr[N]; // 定义数组
double max_val, min_val;
// 从键盘输入数组元素值
for (int i = 0; i < N; i++) {
printf("请输入第%d个元素的值:", i+1);
scanf("%lf", &arr[i]);
}
// 计算最大值和最小值
max_val = arr[0], min_val = arr[0]; // 假设第一个元素为最大值和最小值
for (int i = 1; i < N; i++) {
if (arr[i] > max_val) {
max_val = arr[i]; // 更新最大值
}
if (arr[i] < min_val) {
min_val = arr[i]; // 更新最小值
}
}
// 输出结果
printf("数组最大值为:%lf\n", max_val);
printf("数组最小值为:%lf\n", min_val);
return 0;
}
```
以上代码中,我们首先定义了一个包含 10 个元素的实数数组 `arr`,然后通过 `for` 循环结合 `scanf` 语句从键盘输入数组元素值。接下来,我们对数组进行遍历,分别找出其中的最大值和最小值,并将其分别存储在 `max_val` 和 `min_val` 变量中。最后,利用 `printf` 语句输出计算结果即可。
需要注意的是,在 C 语言中,我们需要使用 `%lf` 格式符来读取 `double` 类型的数据。