南邮编程在线编程题十一:指针形参的使用,找数组中的最大最小元素值
2015-12-18 15:06
423 查看
编写程序,主函数中定义数组int array[10]={23,45,90,-9,43,90,4,2,-9};,调用函数Find,在该函数中通过一趟循环,找到数组中的第1个最大元素及对应下标,第1个最小元素及对应下标。
说明:(1)查找函数的原型为:void Find(int *a,int n,int *max,int *maxPos,int *min,int *minPos); 形参a用来接受主函数中的数组名,最后四个指针形参用于通过间接访问求最大元素、最大元素的下标、最小元素和最小元素的下标。
(2)主函数中的输出语句为:printf("max=%d, maxPos=%d, min=%d, minPos=%d\n",max,maxPos,min,minPos);
代码如下:
说明:(1)查找函数的原型为:void Find(int *a,int n,int *max,int *maxPos,int *min,int *minPos); 形参a用来接受主函数中的数组名,最后四个指针形参用于通过间接访问求最大元素、最大元素的下标、最小元素和最小元素的下标。
(2)主函数中的输出语句为:printf("max=%d, maxPos=%d, min=%d, minPos=%d\n",max,maxPos,min,minPos);
测试用例:无输入 | 测试用例:输出 |
max=90, maxPos=2, min=-9, minPos=3 |
#include <stdio.h> void Find(int *a, int n, int *max, int *maxPos, int *min, int *minPos) { int i; *min = a[0]; *minPos = 0; *max = a[0]; *maxPos = 0; for (i = 0; i < n; ++i) { if (a[i] < *min) { *min = a[i]; *minPos = i; } if (a[i] > *max) { *max = a[i]; *maxPos = i; } } } int main() { int array[10] = {23,45,90,-9,43,90,4,2,-9}; int max, maxPos, min, minPos; Find(array, 10, &max, &maxPos, &min, &minPos); printf("max=%d, maxPos=%d, min=%d, minPos=%d\n", max, maxPos, min, minPos); return 0; }
相关文章推荐
- C++中的容器类详解
- 使用Python编写简单的端口扫描器的实例分享
- C语言之预处理
- 使用python爬取豆瓣电影图片(-)
- 读《疯狂Java讲义》笔记总结一
- Ubuntu FTP 配置
- Annotation(三)——Spring注解开发
- Java多线程之捕获异常
- liunx c语言制作 微型web服务器 300行代码
- Java文件下载结合多线程
- 代码Overlay机制
- boost库的安装和使用略记
- C++11: tuple
- Yii2美化confirm
- JVM虚拟机:JDK监控和故障处理工具
- 演示JAVA自带DOM解析XML功能
- 关于生成验证码
- java正则表达式语法详解及其使用代码实例
- MATLAB的vector——cell
- php中JSON的使用与转换