- 最後登錄
- 2024-4-23
- 在線時間
- 3177 小時
- 註冊時間
- 2004-8-20
- 閱讀權限
- 20
- 精華
- 0
- UID
- 12056
- 帖子
- 475
- 積分
- 967 點
- 潛水值
- 31599 米
| 分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。 因為大大是標榜上課題目...這讓回答者添加不少難度~因為畢竟是學習中~實在是不知道大大學過那些~沒學過那些...寫出你沒學過的內建函式...好像也不能幫助大大
以下是給大大方向~希望能幫上大大
您期望的陣列方式~就某種程度上是可行的...如下例子- int num[20];
- for( int i = 0 ; i < 20 ; i++ )
- {
- cin>>num[i];
- }
複製代碼 只是這寫法有個缺點~就是不能指定中斷方式
畢竟只要輸入非數字的東西進去...cin判定此值不該丟到int內就會跳開了
就連輸入負號...後面沒加數字也不行....因為那樣不能構成數字咩
而且最重要的是~感覺cin就壞掉了~在程式結束之前修不好了(至少我不會修)...因此假如只是一次性的還可以這麼搞~但是假如還要做迴圈重新輸入數字....就不能這麼玩...自己跑過一次就會知道我再說甚麼
先假設這樣大大可以接受...假如不能接受~就乖乖把字串抓出來轉成數字在存起來囉(強烈建議要學先輸入字串再把值轉成數字...畢竟這種怪招以後肯定會出包)
因此先給錯誤的int....基本流程- #include <iostream>
- using namespace std;
- #include<algorithm>
- int num[20];
- int array_sum = 0;
- void main()
- {
- for( int i = 0 ; i < 20 ; i++ )
- {
- if ( cin>>num[i] )
- {
- array_sum++; //紀錄使用者總共存了多少字
- }
- else
- {
- break; //有給非數字的字元....離開for迴圈
- }
- }
- sort( num , num + array_sum );
- cout<<"\n結果出爐...我是分隔線\n";
- for( int i = 0 ; i < array_sum ; i++ )
- {
- cout<<num[i]<<endl;
- }
- }
複製代碼 最後怎麼用字串轉數字呢?相信課程有說過吧...給個簡單的範例- char s[11] ;
- cin>>s;
- num[0] = atoi( s );
複製代碼 相信把我說的東西吸收後...在自己添加中斷條件 ...如果可以的話~順便添加檢查是否是純數字的字串....就是您要的東西了~別問我為何不給完全版~畢竟了解學習很重要呀... |
|