<style> html, body, .ui-content { background-color: #333; color: #ddd; } body > .ui-infobar { display: none; } .ui-view-area > .ui-infobar { display: block; } .markdown-body h1{ color: #9CCEF2; } .markdown-body h2, .markdown-body h3{ color: #B1D6CA; } .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff69; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #333; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } </style> ###### tags: `tgirc早修book` # for 迴圈 ## 基本架構 ```cpp= #include <iostream> using namespace std; int main(){ for(初始動作; 是否執行迴圈的判斷條件; 下一輪開始前的動作){ 指令; } return 0; } ``` :::info for 是迴圈的第二種寫法,常用於指定執行次數的時候 當一次要執行很多事時,在同個段落中可以用逗號分隔 而如果什麼事都不需要做,可以只留下分號就好 ::: <font color="F5F6B6">**範例 1**</font> 試著印出 1~5 吧 ```cpp= #include <iostream> using namespace std; int main(){ int i; for(i = 1; i <= 5; i++){ cout<<i<<"\n"; } return 0; } ``` ![](https://i.imgur.com/iR24vbb.png) 這段程式碼表示,一開始宣告一個 i,在迴圈開始前先把 i 指定為 1,當 i <= 5 時,i = i+1,每跑一次就加一次 <font color="F5F6B6">**範例 2**</font> 找看看 n 是否為完全平方數 ```cpp= #include <iostream> using namespace std; int main(){ int n; cin>>n; int i; for(i=1; i*i<n; i++){ } if(i*i == n){ cout<<"n是完全平方數\n"; } else { cout<<"n不是完全平方數\n"; } return 0; } ``` ![](https://i.imgur.com/0ndDnPK.png) ![](https://i.imgur.com/eFLRssf.png) 因為我們要找的是 i,迴圈內不需要額外跑指令,所以可以不放東西 <font color="F5F6B6">**範例 3**</font> 輸入 n 個數,計算有多少個數字大於 n ```cpp= #include <iostream> using namespace std; int main(){ int n,i,ans; cin>>n; for(i=0, ans=0; i < n; i++){ int a; cin>>a; if(a > n){ ans++; } } cout<<ans<<"\n"; return 0; } ``` ![](https://i.imgur.com/dolr5Rt.png)