生活随笔
收集整理的這篇文章主要介紹了
随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
http://blog.csdn.net/itcastcpp//details/39277193
題目:隨機(jī)生成1024個(gè)數(shù),存入一段內(nèi)存,用指針實(shí)現(xiàn)獲取1024個(gè)數(shù)的最大數(shù)地址,最小數(shù)地址,具體實(shí)現(xiàn)如下:
[cpp]?view plain
?copy #include<stdlib.h>?? #include<stdio.h>?? #include<time.h>?? int?FindMaxMinByIndex(int?*?pInput,?int?nLen,?int?**?ppMax,?int?**?ppMin)?? {?? ????if?(!ppMax)?? ????{?? ????????return?0;?? ????}?? ????if?(!ppMin)?? ????{?? ????????return?0;?? ????}?? ????if?(!pInput)?? ????{?? ????????return?0;?? ????}?? ????int?i?=?0;?? ????int?*?pMax?=?&pInput[0];?? ????int?*?pMin?=?&pInput[0];?? ????for?(i?=?0;?i?<?nLen;?i++)?? ????{?? ????????if?(*pMax?<?pInput[i])?? ????????{?? ????????????pMax?=?pInput?+?i;?? ????????}?? ????????if?(*pMin?>?pInput[i])?? ????????{?? ????????????pMin?=?pInput?+?i;?? ????????}?? ????}?? ????*ppMax?=?pMax;?? ????*ppMin?=?pMin;?? ????return?1;?? }?? int?FindMaxMinByPtr(int?*?pInput,?int?nLen,?int?**?ppMax,?int?**?ppMin)?? {?? ????if?(!pInput?||?!ppMax?||?!ppMin)?? ????{?? ????????return?0;?? ????}?? ????int?*?pCurPtr?=?pInput;?? ????int?*?pEndPtr?=?pInput?+?nLen;?? ????int?*?pMax?=?pInput;?? ????int?*?pMin?=?pInput;?? ????for?(;?pCurPtr?<?pEndPtr;?pCurPtr++)?? ????{?? ????????if?(*pMax?<*pCurPtr)?? ????????{?? ????????????pMax?=?pCurPtr;?? ????????}?? ????????if?(*pMin?>?*pCurPtr)?? ????????{?? ????????????pMin?=?pCurPtr;?? ????????}?? ????}?? ????*ppMax?=?pMax;?? ????*ppMin?=?pMin;?? ????return?1;?? }?? int?main()?? {?? ????int?Data[1024]?=?{?0?};?? ????int?i?=?0;?? ????srand(time(NULL));?? ????for?(i?=?0;?i?<?1024;?i++)?? ????{?? ????????Data[i]?=?rand()?%?10;?? ????}?? ????printf("數(shù)據(jù):\n");?? ????for?(i?=?0;?i?<?1024;?i++)?? ????{?? ????????printf("%d??",?Data[i]);?? ????}?? ????printf("\n");?? ????int?*?pMax?=?NULL;?? ????int?*?pMin?=?NULL;?? ????if?(FindMaxMinByIndex(Data,?1024,?&pMax,?&pMin)?==?0)?? ????{?? ????????printf("查找失敗.\n");?? ????}?? ????else?? ????{?? ????????printf("最大數(shù):%d,最小數(shù):%d,最大數(shù)地址:%p,最小數(shù)地址:%p\n",?*pMax,?*pMin,?pMax,?pMin);?? ????}?? ????if?(FindMaxMinByPtr(Data,?1024,?&pMax,?&pMin)?==?0)?? ????{?? ????????printf("查找失敗.\n");?? ????}?? ????else?? ????{?? ????????printf("最大數(shù):%d,最小數(shù):%d,最大數(shù)地址:%p,最小數(shù)地址:%p\n",?*pMax,?*pMin,?pMax,?pMin);?? ????}?? ?? ????system("pause");?? ????return?0;?? }??
運(yùn)行效果如圖1所示:
總結(jié)
以上是生活随笔為你收集整理的随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。