<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;
}
```

這段程式碼表示,一開始宣告一個 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;
}
```


因為我們要找的是 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;
}
```
