C语言经典程序之:求十个整数中的最大最小数并输出(指针)
生活随笔
收集整理的这篇文章主要介绍了
C语言经典程序之:求十个整数中的最大最小数并输出(指针)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
#include "stdio.h"
void max(int *p,int N) /*求最大数的函数(void--无返回值),定义指针*/
{int i,max=*p; /*定义整型i;设指针指向的第一个值是最大值*/for(i=0;i<N;i++,p++) /*for循环,逐个指针向下*/{if(max<*p) /*假如后面出现一个比前一个数值大的数*/ max=*p; /*马上将较大的数赋给max*/}printf("最大的数是%d\n",max); /*格式化输出最大数*/}
void min(int *p,int N) /*求最小数的函数,定义指针*/
{int i,min=*p; /*设指针指向的第一个值是最小值*/for(i=0;i<N;i++,p++) /*for循环,逐个指针向下*/{if(min>*p) /*假如后面出现一个比前一个数值小的数*/ min=*p; /*马上将较小的数赋给max*/}printf("最小的数是%d",min); /*格式化输出最大数*/}main() /*主函数说:我才是老大,上面的两个函数都得听我的!O(∩_∩)O哈!*/
{int a[10],*p,i; /*定义一个长度为10的数组,一个指针和一个整型i*/p=a; /*将数组的第一个地址赋给指针的第一个地址,也就是把数组和指针对应。即a[0]=*p;a[1]=*(p+1)*;a[2]=*(p+2);……*/puts("请输入十个整数:\n"); /*屏幕显示用户提示信息;puts()--即put string--字符串输出命令*/for(i=0;i<10;i++) /*for循环依次向下*/scanf("%d",&a[i]); /*扫描用户输入的数据*/puts("\n"); /*换行*/max(p,10); min(a,10); /*按最大&最小函数格式分别调用它们,求最大数和最小数*/}
程序执行顺序说明:
众所周知,C程序是从main()开始执行的。所以前面的两个求最大&最小函数先不执行,程序先执行main(),一直到“ max(p,10); ”时,调用前面的void max()函数,当它执行完毕,输出最大数后,函数生命期结束。接着返回到main()中,又遇到“min(a,10); ”,马上调用void min()函数,执行完毕,找到并输出最小数后,函数生命期结束,返回main()中,然后整个程序结束。
这个程序也可以这样写:
#include "stdio.h" void max(int *p,int N); void min(int *p,int N); /*若求最大函数&最小函数不放在main()之前,要事先在程序中声明*/ main() {int a[10],*p,i;p=a;puts("请输入十个整数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);puts("\n");max(p,10);min(a,10);} void max(int *p,int N) {int i,max=*p;for(i=0;i<N;i++,p++){if(max<*p)max=*p;}printf("最大的数是%d\n",max);} void min(int *p,int N) {int i,min=*p;for(i=0;i<N;i++,p++){if(min>*p)min=*p;}printf("最小的数是%d",min); }
这样可以比较两个程序的不同,学会外部子函数的调用方法。
转载于:https://www.cnblogs.com/Joynic/archive/2013/01/27/2879195.html
总结
以上是生活随笔为你收集整理的C语言经典程序之:求十个整数中的最大最小数并输出(指针)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 摄影师张梦格App项目总结
- 下一篇: WinCE/Mobile上下滑动浏览Da