隨機生成1024個數,存入一段內存,用指針實現獲取1024個數的最大數地址,最小數地址

http://blog.csdn.net/itcastcpp//details/39277193

題目:隨機生成1024個數,存入一段內存,用指針實現獲取1024個數的最大數地址,最小數地址,具體實現如下:

[cpp]?view plain?copy
  1. #include<stdlib.h>??
  2. #include<stdio.h>??
  3. #include<time.h>??
  4. int?FindMaxMinByIndex(int?*?pInput,?int?nLen,?int?**?ppMax,?int?**?ppMin)??
  5. {??
  6. ????if?(!ppMax)??
  7. ????{??
  8. ????????return?0;??
  9. ????}??
  10. ????if?(!ppMin)??
  11. ????{??
  12. ????????return?0;??
  13. ????}??
  14. ????if?(!pInput)??
  15. ????{??
  16. ????????return?0;??
  17. ????}??
  18. ????int?i?=?0;??
  19. ????int?*?pMax?=?&pInput[0];??
  20. ????int?*?pMin?=?&pInput[0];??
  21. ????for?(i?=?0;?i?<?nLen;?i++)??
  22. ????{??
  23. ????????if?(*pMax?<?pInput[i])??
  24. ????????{??
  25. ????????????pMax?=?pInput?+?i;??
  26. ????????}??
  27. ????????if?(*pMin?>?pInput[i])??
  28. ????????{??
  29. ????????????pMin?=?pInput?+?i;??
  30. ????????}??
  31. ????}??
  32. ????*ppMax?=?pMax;??
  33. ????*ppMin?=?pMin;??
  34. ????return?1;??
  35. }??
  36. int?FindMaxMinByPtr(int?*?pInput,?int?nLen,?int?**?ppMax,?int?**?ppMin)??
  37. {??
  38. ????if?(!pInput?||?!ppMax?||?!ppMin)??
  39. ????{??
  40. ????????return?0;??
  41. ????}??
  42. ????int?*?pCurPtr?=?pInput;??
  43. ????int?*?pEndPtr?=?pInput?+?nLen;??
  44. ????int?*?pMax?=?pInput;??
  45. ????int?*?pMin?=?pInput;??
  46. ????for?(;?pCurPtr?<?pEndPtr;?pCurPtr++)??
  47. ????{??
  48. ????????if?(*pMax?<*pCurPtr)??
  49. ????????{??
  50. ????????????pMax?=?pCurPtr;??
  51. ????????}??
  52. ????????if?(*pMin?>?*pCurPtr)??
  53. ????????{??
  54. ????????????pMin?=?pCurPtr;??
  55. ????????}??
  56. ????}??
  57. ????*ppMax?=?pMax;??
  58. ????*ppMin?=?pMin;??
  59. ????return?1;??
  60. }??
  61. int?main()??
  62. {??
  63. ????int?Data[1024]?=?{?0?};??
  64. ????int?i?=?0;??
  65. ????srand(time(NULL));??
  66. ????for?(i?=?0;?i?<?1024;?i++)??
  67. ????{??
  68. ????????Data[i]?=?rand()?%?10;??
  69. ????}??
  70. ????printf("數據:\n");??
  71. ????for?(i?=?0;?i?<?1024;?i++)??
  72. ????{??
  73. ????????printf("%d??",?Data[i]);??
  74. ????}??
  75. ????printf("\n");??
  76. ????int?*?pMax?=?NULL;??
  77. ????int?*?pMin?=?NULL;??
  78. ????if?(FindMaxMinByIndex(Data,?1024,?&pMax,?&pMin)?==?0)??
  79. ????{??
  80. ????????printf("查找失敗.\n");??
  81. ????}??
  82. ????else??
  83. ????{??
  84. ????????printf("最大數:%d,最小數:%d,最大數地址:%p,最小數地址:%p\n",?*pMax,?*pMin,?pMax,?pMin);??
  85. ????}??
  86. ????if?(FindMaxMinByPtr(Data,?1024,?&pMax,?&pMin)?==?0)??
  87. ????{??
  88. ????????printf("查找失敗.\n");??
  89. ????}??
  90. ????else??
  91. ????{??
  92. ????????printf("最大數:%d,最小數:%d,最大數地址:%p,最小數地址:%p\n",?*pMax,?*pMin,?pMax,?pMin);??
  93. ????}??
  94. ??
  95. ????system("pause");??
  96. ????return?0;??
  97. }??
運行效果如圖1所示:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/383975.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/383975.shtml
英文地址,請注明出處:http://en.pswp.cn/news/383975.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UVa11134

【題目分析】 覺得是一道挺考驗貪心掌握程度的題目&#xff0c;我就算知道是要用貪心而且肯定和區間有關&#xff0c;肯定要進行一下排序什么的我還是沒有找到合適的貪心策略。 經過大佬的博客后我才明白如何進行貪心。 如果沒有任何提示看這道題&#xff0c;首先&#xff0…

傳輸層:IP 地址解析 路由轉發

IP 地址與硬件地址 1. 地址解析 通過IP地址將其如何轉換為 MAC 地址.解決同一個局域網上的主機或路由的 IP 地址和硬件地址的映射問題. 即以太網上除了主機還有路由. 即如果發出的請求所有的主機都沒有做出相應, 那么該以太網上的路由會對其做出響應. (1) 以太網內部主機與…

UVa11582

一個數學問題,一旦出現循環確定循環節以后就能解決問題啦. 加上一個快速冪取模.需要注意的是數據范圍是264,所以必須用unsigned long long才能解決問題. 覺得板子還是要會自己寫,否則不同的題目具體有一些小的改變就會束手無策. 還有就是發現如果每次初始化數組的話就會超時,所…

輸入一個單向鏈表,輸出該鏈表中倒數第K個結點

http://blog.csdn.net/itcastcpp/article/details/39274891//尹成 單鏈表操作 #include <iostream> using namespace std; class LinkList;struct LinkNode { public:LinkNode(int value 0):m_value(value),pNext(NULL){}~LinkNode(){pNext NULL;}friend class LinkList…

網絡層:構成超網(CIDR)

CIDR構成超網 CIDR消除了原來的傳統的 A,B, C, D類地址, 使用了各種網絡前綴來代替原來分類地址中的網絡號和子網號, IP 地址由原來的三級分類又變成了兩級分類. 其中網絡號和子網號是一個隨機的長度. 其中 CIDR 也可以使用 / 的形式來表示, 其中在 / 前面寫上網絡前綴的位數.…

UVa12169

我們可以暴力枚舉a,然后通過x1和x3確定b的值&#xff0c;然后確定其他的數字&#xff0c;一旦出現錯誤就放棄這組解。 關鍵問題就在于如何通過a,x1,x3確定b的值 x2 ( x1 * a b) % M x3 ( x2 * a b ) % M ( ( x1 * a b ) % M * a b ) % M x3 - k * M x1 * a % M * a %…

尹成 雙循環鏈表

今天&#xff0c;我們一起用C寫一個雙鏈表&#xff0c;具體代碼如下&#xff1a; DoubleList.h具體內容如下&#xff1a; [cpp] view plaincopy #include "NodeList.h" template<typename Type> class DoublyList{ public: DoublyList() :head(ne…

堆的基本操作

堆的數據結構 對于堆, 有最大堆和最小堆, 在定義一個堆的時候用一個數組表示堆, 同時為了方便定義堆的大小, 用一個 size 表示堆的有效元素, 同時為了區別最大堆和最小堆, 我們用一個函數指針表示這個堆是最大堆還是最小堆. typedef int (*Compare)(HeapType parent, HeapTyp…

UVa1605

完完全全的構造題 一種比較好想到&#xff08;雖然我沒有想到。。&#xff09;的方法是做成一個兩層的表格&#xff0c;第一層每一行相同&#xff0c;第二層每一列相同&#xff0c;這樣每個都能和其他的相鄰了。 輸出格式稍微注意一下 #include<cstdio> #include<c…

Linux下的TCP/IP編程----IO復用及IO復用服務端

http://blog.csdn.net/wqc_csdn/article/details/51583901 在之前我們實現的并發服務端時通過床將多個進程來實現的&#xff0c;這種并實現并發的方式簡單方便&#xff0c;但是進程的創建和銷毀是很消耗系統資源的&#xff0c;在訪問量大時服務器很容易出現資源不夠用的情況。除…

UVa120

相當于是一個模擬&#xff0c;為了得到合適的順序&#xff0c;我們的策略是每次找到當前沒有被翻的里面最大的&#xff0c;然后把他翻到最前面&#xff0c;然后再翻到合適的位置。 需要判斷一下當前是否已經有序&#xff0c;有序就不用翻了。 如果在最開頭找到了合適的當前應…

二叉樹的相關操作

二叉樹的數據結構 typedef char SearchTreeType; typedef struct SearchTreeNode { SearchTreeType key; // 關鍵碼 struct SearchTreeNode* lchild; struct SearchTreeNode* rchild; } SearchTreeNode; 二叉樹的初始化 由于我們是用一個指向根節點的指針表示一個二叉樹, …

網絡層:網關協議

一. 網關 所謂的網管即就是之前路由器的名字, 即路由器和網關是一個東西 二. 內部網關協議 1. RIP協議 路由信息協議 RIP 是內部網關協議 IGP中最先得到的廣泛使用的協議. 同時 RIP 是一種分布式基于距離向量的路由選擇協議. RIP 協議要求網絡中的每一個路由都必須維護自己…

UVa1152

題意很好理解&#xff0c;就是從四個集合里面取出四個數字的和為0&#xff0c;問有多少種取法。 直接枚舉肯定是會超時的&#xff0c;所以得想辦法優化一下。我們可以將兩個集合的所有的和都放在一個數組里面&#xff0c;這樣得到兩個數組&#xff0c;然后排序&#xff0c;對第…

Linux函數--inet_pton / inet_ntop

http://blog.csdn.net/lindyl/article/details/10427925 inet_pton 和 inet_ntop Linux下這2個IP地址轉換函數&#xff0c;可以在將IP地址在“點分十進制”和“整數”之間轉換而且&#xff0c;inet_pton和inet_ntop這2個函數能夠處理ipv4和ipv6。算是比較新的函數了。 inet_pto…

網絡基礎: 淺析應用層一

應用層 1. http協議 在 http 中協議分為了協議方案名, 登錄信息名, 服務器地址, 服務器端口號(http協議綁定的端口號), 文件類型, 查詢的字符串, 片段標識位 2. http 請求協議格式 httpp 總共分為三大部分, 其中首行即就是第一部分, 分為三個區域, 第一去個區域是請方法, 第…

socket 編程篇六之IPO多路復用-select poll epoll

http://blog.csdn.net/woxiaohahaa/article/details/51498951 文章參考自&#xff1a;http://blog.csdn.net/tennysonsky/article/details/45745887&#xff08;秋葉原 — Mike VS 麥克《Linux系統編程——I/O多路復用select、poll、epoll的區別使用》&#xff09; 此外&#x…

UVa11054

挺簡單的小模擬。 還是要注意思維的方向&#xff0c;要有切入點&#xff0c;不能像無頭蒼蠅一樣東想一下西想一下&#xff0c;而應該分析問題的性質&#xff0c;然后嘗試思維的方向&#xff0c;從不同的方向思考&#xff08;順序&#xff0c;逆序&#xff0c;排序后&#xff0…

淺談傳輸層

1. 傳輸層的作用 在傳輸層中有兩個特別重要的協議 TCP/UDP . 以快遞員送快遞為例說明這個問題吧. 在進行包裹傳輸的過程中快遞員需要根據快遞上的目的地址(目的計算機)來投遞包裹(IP數據報), 加入在快遞單上只寫了收件人的所在地, 所在單位, 而只寫了收件人的姓沒有寫收件人的…

UVa10375

題目描述很簡單,就是求兩個組合數的商.可是數字范圍很大,肯定不能直接計算. 因此要用到唯一分解定理,即將結果全部表示為素因子的冪的形式. #include<cstdio> #include<cstring> #include<algorithm> #include<climits> #include<cctype> #inc…