采用指针法,输出 $10$ 个整型数中的最大值和最小值C:
时间: 2023-12-02 12:03:00 浏览: 55
可以,以下是代码实现:
```c
#include <stdio.h>
int main(){
int a[10] = {3, 5, 2, 7, 1, 9, 6, 8, 4, 0};
int *p = a, max = *p, min = *p;
for(int i = 1; i < 10; i++){
p++;
if(*p > max) max = *p;
if(*p < min) min = *p;
}
printf("最大值:%d,最小值:%d\n", max, min);
return 0;
}
```
注意要先指向数组首元素,再逐个判断与保存最大值和最小值。
相关问题
指针法输出十个整形数组中最大值最小值
可以通过指针遍历数组,同时记录最大值和最小值,来输出十个整形数组中的最大值和最小值。具体实现如下:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[10][10] = { {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
{11, 12, 13, 14, 15, 16, 17, 18, 19, 20},
{21, 22, 23, 24, 25, 26, 27, 28, 29, 30},
{31, 32, 33, 34, 35, 36, 37, 38, 39, 40},
{41, 42, 43, 44, 45, 46, 47, 48, 49, 50},
{51, 52, 53, 54, 55, 56, 57, 58, 59, 60},
{61, 62, 63, 64, 65, 66, 67, 68, 69, 70},
{71, 72, 73, 74, 75, 76, 77, 78, 79, 80},
{81, 82, 83, 84, 85, 86, 87, 88, 89, 90},
{91, 92, 93, 94, 95, 96, 97, 98, 99, 100} };
int *p = arr[0];
int max_val = *p;
int min_val = *p;
for(int i = 0; i < 10 * 10; i++) {
if(*(p+i) > max_val) {
max_val = *(p+i);
}
if(*(p+i) < min_val) {
min_val = *(p+i);
}
}
cout << "max value: " << max_val << endl;
cout << "min value: " << min_val << endl;
return 0;
}
```
这里定义了一个大小为10x10的二维数组arr,并将其首地址赋值给指针p,然后通过指针p遍历整个数组,同时记录最大值和最小值。最后输出最大值和最小值即可。
c语言用指针求三个数的最大值最小值和平均值
以下是使用指针求三个数的最大值、最小值和平均值的C语言代码:
```c
#include <stdio.h>
void Score(int b[], int* max, int* min, float* avg) {
int i;
*min = *max = *avg = b[0];
for (i = 1; i < 5; i++) {
if (b[i] < *min) {
*min = b[i];
}
if (b[i] > *max) {
*max = b[i];
}
*avg += b[i];
}
*avg = *avg / 5;
}
int main() {
int a[5], min, max;
float avg;
for (int i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
Score(a, &max, &min, &avg);
printf("max=%d, min=%d, avg=%.1f\n", max, min, avg);
return 0;
}
```
这段代码中,我们定义了一个名为Score的函数,该函数接受一个整型数组b、一个指向最大值的指针max、一个指向最小值的指针min和一个指向平均值的指针avg作为参数。在函数中,我们使用循环遍历整型数组b,找到其中的最大值、最小值,并计算出平均值。最后,我们将最大值、最小值和平均值分别存储到指针max、min和avg所指向的内存地址中。
在main函数中,我们定义了一个名为a的整型数组,用于存储5名学生的成绩。然后,我们使用scanf函数从标准输入中读取5个整数,并将它们存储到数组a中。接着,我们调用Score函数,将数组a和三个指针作为参数传递给它,计算出最大值、最小值和平均值,并将它们打印到标准输出中。