用指针求最大最小值
2018-01-30 16:42
134 查看
#include <stdio.h>
#include <stdlib.h>
void maxmin(int *p,int n,int *max,int *min){
int a[20];
printf("请输入一组整数:\n");
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
p=a;
*max=a[0];
for(int i=1;i<n;i++){
if(*max<*(p+i)){
*max=*(p+i);
}
}
printf("最大值为:%d",*max);
p=a;//要注意p 的指向
*min=a[0];
for(int i=1;i<n;i++){
if(*min>*(p+i))
*min=*(p+i);
}
printf("输出最小值:%d",*min);
}
int main(){
int a[20],n;
int max;int min;//要注意这里max和min的类型定义和参数的传递,传的是地址!
printf("请输入n的值:\n");
scanf("%d",&n);
maxmin(a,n,&max,&min);//上面参数是指针,指针是地址,所以下面这里也要传递一个地址;
return 0;
}
#include <stdlib.h>
void maxmin(int *p,int n,int *max,int *min){
int a[20];
printf("请输入一组整数:\n");
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
p=a;
*max=a[0];
for(int i=1;i<n;i++){
if(*max<*(p+i)){
*max=*(p+i);
}
}
printf("最大值为:%d",*max);
p=a;//要注意p 的指向
*min=a[0];
for(int i=1;i<n;i++){
if(*min>*(p+i))
*min=*(p+i);
}
printf("输出最小值:%d",*min);
}
int main(){
int a[20],n;
int max;int min;//要注意这里max和min的类型定义和参数的传递,传的是地址!
printf("请输入n的值:\n");
scanf("%d",&n);
maxmin(a,n,&max,&min);//上面参数是指针,指针是地址,所以下面这里也要传递一个地址;
return 0;
}
相关文章推荐
- 经典题! 双指针枚举半平面,求最大最小值
- 二叉查找树带父节点指针的创建,销毁,查找,删除,插入,找前驱后继,找最小值最大值(递归和非递归的实现)
- C/C++——求下面数据类型的最大值和最小值: char, short, int, long, float, double, long double和numeric_limits使用
- 最大最小值:给n个实数,求它们之中的最大值和最小值,要求比较次数尽量小。
- C/C++ 各种类型最大值最小值
- 1159: 最大的两个数(指针专题)
- POJ - 2253 Frogger (所有路径中边的权值最大的中的最小值)
- [noj 1002]囧:求最大值最小值 WA 8次
- 算法题-最大值减去最小值小于或等于 num 的子数组数量
- nyoj 1185 最大最小值【线段树】
- JAVA 1~100之间的十个随机数的最大值和最小值
- 算法提高 题目1 最大最小值
- C#基础编程---数组最大值最小值
- c++ vector 寻找最大最小值
- nyoj 1185 最大最小值 【线段树】
- 查看本机jvm运行内存最大最小值
- 数据结构(C)---分治法求最大值最小值
- C/C++中各种类型int、long、double、char表示范围(最大最小值)
- 将一个字符串按照最大值最小值连续排列
- 查找最大值最小值