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项目总结
- 下一篇: python脚本自动发邮件功能