从十个数中找出最小值和最大值
时间: 2023-05-18 16:07:18 浏览: 104
可以使用一个循环来遍历这十个数,同时记录下最小值和最大值,最后输出即可。以下是示例代码:
int nums[10] = {1, 5, 3, 9, 2, 8, 4, 7, 6, 0};
int min_num = nums[0];
int max_num = nums[0];
for (int i = 1; i < 10; i++) {
if (nums[i] < min_num) {
min_num = nums[i];
}
if (nums[i] > max_num) {
max_num = nums[i];
}
}
printf("最小值:%d,最大值:%d\n", min_num, max_num);
相关问题
用指针从10个数中找出其中最大值和最小值。
以下是实现该功能的程序:
#include <stdio.h>
void findMaxMin(int *a, int *max, int *min);
void swap(int *a, int *b);
int main() {
int a[3];
int max, min;
int *p1, *p2, *p3;
printf("请输入3个整数:\n");
scanf("%d %d %d", &a[], &a[1], &a[2]);
p1 = &a[];
p2 = &a[1];
p3 = &a[2];
findMaxMin(p1, &max, &min);
printf("最大值为:%d,地址为:%p\n", max, &max);
printf("最小值为:%d,地址为:%p\n", min, &min);
swap(&max, &min);
printf("交换后,最大值为:%d,最小值为:%d\n", max, min);
return ;
}
void findMaxMin(int *a, int *max, int *min) {
*max = *min = *a;
if (*a > *(a + 1)) {
*max = *a;
*min = *(a + 1);
} else {
*max = *(a + 1);
*min = *a;
}
if (*max < *(a + 2)) {
*max = *(a + 2);
}
if (*min > *(a + 2)) {
*min = *(a + 2);
}
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
程序的思路是先通过指针运算找出最大值和最小值,并记录它们的地址。然后调用swap函数实现最大值和最小值的交换。最后输出交换后的结果。
从十个整数中找出最大值和最小值用c语言指针
可以使用指针来找出十个整数中的最大值和最小值。以下是示例代码:
```c
#include <stdio.h>
int main() {
int nums[10] = {3, 8, 1, 5, 9, 4, 2, 7, 6, 0}; // 定义一个包含十个整数的数组
int *p = nums; // 定义指针p,指向数组nums的第一个元素
int max = *p; // 假设第一个元素为最大值
int min = *p; // 假设第一个元素为最小值
for(int i = 0; i < 10; i++) {
if(*(p + i) > max) { // 如果p + i指向的元素大于当前最大值,则更新最大值
max = *(p + i);
}
if(*(p + i) < min) { // 如果p + i指向的元素小于当前最小值,则更新最小值
min = *(p + i);
}
}
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
输出结果:
```
最大值为:9
最小值为:0
```