用C语言代码找出多个数的最大最小数
时间: 2023-06-20 22:06:36 浏览: 138
以下是用C语言代码找出多个数的最大最小数的示例:
```c
#include <stdio.h>
int main() {
int n, i, num;
int max = -2147483647; // 最大值初始化为负无穷
int min = 2147483647; // 最小值初始化为正无穷
printf("请输入数字个数:");
scanf("%d", &n);
for(i = 1; i <= n; i++) {
printf("请输入第%d个数字:", i);
scanf("%d", &num);
// 判断是否为最大值
if(num > max) {
max = num;
}
// 判断是否为最小值
if(num < min) {
min = num;
}
}
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
在上面的代码中,我们使用了一个 for 循环来获取输入的数字,并且在每次输入数字后判断其是否为最大值或最小值,如果是则更新最大值或最小值。最后输出最大值和最小值即可。
相关问题
写一个c语言代码,实现在200个double类型的数中找到重复最多的数(保留一位小数)
在C语言中,要实现这个功能,我们可以创建一个哈希表或者使用计数排序来存储每个数字及其出现次数。由于C语言本身不直接支持双精度浮点数的哈希,我们通常需要借助一些技巧,比如将double转换成整数并处理精度损失。这里提供一个简单的示例,它不是最优化的,但对于较小范围内的double值可以工作:
```c
#include <stdio.h>
#include <stdlib.h>
// 将double类型转换为整数,保留一位小数
int to_int(double num, int precision) {
return (int)(num * pow(10, precision));
}
// 比较两个近似相等的double
int compare_approx(double a, double b, int precision) {
double diff = a - b;
if (diff > 0.5 || diff < -0.5)
return diff > 0; // 返回a大于b
else
return diff >= 0; // 如果差值很小,按正方向判断
}
int main() {
double numbers[200];
int count[20000] = {0}; // 假设最大可能的double取值范围为1e6左右
int i, max_count = 0, most_frequent = 0;
// 输入200个double数值
for (i = 0; i < 200; i++) {
scanf("%lf", &numbers[i]);
int num_int = to_int(numbers[i], 1); // 转换并保留一位小数
count[num_int]++;
}
// 找出重复最多次的数
for (i = 0; i < 20000; i++) {
if (count[i] > max_count) {
max_count = count[i];
most_frequent = i;
}
}
printf("重复最多的数(保留一位小数)约等于 %lf\n", (double)most_frequent / pow(10, 1));
return 0;
}
```
注意,这种方法对于大量或大范围的double值可能会有性能问题,并且会有精度损失。如果对精确度和效率要求较高,可能需要使用其他数据结构和技术。
1. 简答题 要求5个数中的最大值和最小数,编写C语言实现。  要求5个数中的最大值和最小数,编写C语言实现  1/3答题卡 下一题 
要在C语言中找到一组整数中的最大值和最小值,你可以使用数组并结合循环结构。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 定义函数来找出数组中的最大值和最小值
void findMaxMin(int arr[], int n, int* max, int* min) {
*max = arr[0]; // 初始化最大值为第一个元素
*min = arr[0]; // 初始化最小值为第一个元素
for (int i = 1; i < n; i++) { // 遍历数组,从第二个元素开始
if (arr[i] > *max) { // 如果当前元素大于最大值
*max = arr[i]; // 更新最大值
}
if (arr[i] < *min) { // 如果当前元素小于最小值
*min = arr[i]; // 更新最小值
}
}
}
int main() {
int numbers[] = {5, 3, 9, 1, 7}; // 示例数组
int n = sizeof(numbers) / sizeof(numbers[0]); // 数组长度
int maxVal, minVal; // 存储最大值和最小值的变量
findMaxMin(numbers, n, &maxVal, &minVal); // 调用函数查找
printf("最大值: %d\n", maxVal);
printf("最小值: %d\n", minVal);
return 0;
}
```
这个程序首先声明了一个函数`findMaxMin`,它接收一个整数数组、数组长度以及指向最大值和最小值的指针。然后,在`main`函数中,我们创建了一个包含5个数的数组,并通过传入指针更新最大值和最小值。
运行此程序,会输出给定数组中的最大值和最小值。如果你需要修改数组或添加更多功能,只需更改`numbers`数组即可。
阅读全文