课上实例1
#include <iostream>
using namespace std;
int main()
{
int i = 0;
if (i < 0)
{
cout << i << endl;
i ++;
}
while (i < 10)
{
cout << i << endl;
i ++;
}
return 0;
}
课上实例2
#include <iostream>
using namespace std;
int main()
{
int i = 1;
int sum = 0;
while (i <= 100)
{
sum += i * i * i;
i ++;
}
cout << sum << endl;
return 0;
}
课上实例3
#include <iostream>
using namespace std;
int main()
{
// 定义a和b
int a, b;
// a等于f[1],为1
a = 1;
// b等于f[2],为1
b = 1;
// 定义n,读入n
int n;
cin >> n;
// 想要求f[n]
// 循环n - 1次求f[n]
int i = 0;
while (i < n - 1)
{
int c = a + b;
a = b;
b = c;
i ++ ; // 一定要记得i++,否则死循环
}
cout << a << endl;
return 0;
}
课上实例4
#include <iostream>
using namespace std;
int main()
{
int x = 1;
// 死循环
while (x == 1) puts("!");
return 0;
}
课上实例5
#include <iostream>
using namespace std;
int main()
{
int s = 0;
int r = 0;
int j = 1;
// while循环
while (j <= 10) // 先判断条件
{
// 再去执行循环体
r += j;
j ++ ;
}
cout << r << endl;
int i = 1;
// do while循环
do
{
// 先做循环体
s += i;
i ++ ;
} while (i <= 10); // 再去判断条件
// 如果条件成立,继续执行循环体
// 如果条件不成立,退出循环
cout << s << endl;
return 0;
}
课上实例6
#include <iostream>
using namespace std;
int main()
{
// 第一步:执行初始化语句,初始化i=1
// 第二步:执行判断语句i <= 10
for (int i = 0; i < 10; i ++ )
{
// 成立,执行循环体
cout << i << endl;
// 循环体执行完毕,执行i++
// 再判断i <= 10
}
// 直到i为11时循环结束
// i只能在循环体中使用
// 错误
// cout << i << endl;
return 0;
}
课上实例7
#include <iostream>
using namespace std;
int main()
{
int s = 0; // 定义总和
// i从1循环到100
for (int i = 1; i <= 100; i ++ )
{
s += i * i * i;
}
cout << s << endl;
return 0;
}
课上实例8
#include <iostream>
using namespace std;
int main()
{
int a = 1, b = 1;
int n;
cin >> n;
for (int i = 0; i < n - 1; i ++ )
{
int c = a + b;
a = b;
b = c;
}
cout << a << endl;
return 0;
}
课上实例9
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
for (int i = 1, j = 10; i < j; i ++, j -- )
{
sum += i * j;
}
cout << sum << endl;
return 0;
}
课上实例10
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
// 计算1~100的和
for (int i = 1; i <= 100; i ++ )
{
// 计算50次后退出
if (i > 50) break;
sum += i;
}
// 这样计算出的就是1~50的和
cout << sum << endl;
sum = 0;
// 循环体中的i可以再次定义
// 出了循环体i就消失了
int i = 1;
while (i <= 100)
{
if (i > 50) break;
sum += i;
i ++;
}
cout << sum << endl;
return 0;
}
课上实例11
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
for (int i = 1; i <= 100; i ++ )
{
int x = i;
x += i;
// 如果i等于50,跳过这一次
if (i == 50) continue;
sum += x;
}
cout << sum << endl;
return 0;
}
课上实例12
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
int j = 1;
// i和j每次循环的值应该是相同的
for (int i = 1; i <= 100; i ++, j ++ )
{
// i等于50,break
if (i == 50) break;
sum += i;
}
// 可通过j是50还是51判断是否执行表达式
cout << j << endl;
cout << sum << endl;
return 0;
}
课上实例13
#include <iostream>
using namespace std;
int main()
{
// 输入一个数n
int n;
cin >> n;
bool is_prime = true;
// 枚举2~n-1,看有无约数
for (int i = 2; i <= n - 1; i ++ )
// 如果n是i的倍数
if (n % i == 0)
{
// 说明不是质数
is_prime = false;
break;
}
// 如果是质数,输出yes
if (is_prime) cout << "yes" << endl;
else cout << "no" << endl;
return 0;
}
课上实例14
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
// 从1~100循环
for (int i = 1; i <= 100; i ++ )
{
// 如果是奇数,跳过本次循环
if (i % 2) continue;
sum += i;
}
cout << sum << endl;
return 0;
}
课上实例15
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int n = 0;
cin >> n;
// 外层循环行数(第1行到第n行)
for (int i = 1, k = 1; i <= n; i ++ )
{
// 内存循环每一行中的数
for (int j = 1; j <= n; j ++, k ++ )
{
// k负责填数
printf("%-5d ", k);
}
cout << endl;
}
return 0;
}
课上实例16
#include <iostream>
using namespace std;
int main()
{
// 1既不是质数也不是合数,从2开始循环
// 外层循环每个数
for (int i = 2; i <= 1000; i ++ )
{
// 内层循环判断这个数是否为质数
bool is_prime = true;
for (int j = 2; j < i; j ++ )
if (i % j == 0)
{
is_prime = false;
break;
}
// 如果是质数,输出
if (is_prime) cout << i << endl;
}
return 0;
}
课上实例17
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
// 首先计算中心点坐标
// 下标从0开始
int cx = n / 2, cy = n / 2;
for (int i = 0; i < n; i ++ )
{
for (int j = 0; j < n; j ++ )
// 计算各个点到中心点的曼哈顿距离
if (abs(i - cx) + abs(j - cy) <= n / 2)
cout << '*';
else cout << ' ';
// 每行输出完毕后,输出一个回车
cout << endl;
}
return 0;
}
课上实例18
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int cx = n / 2, cy = n / 2;
for (int i = 0; i < n; i ++ )
{
for (int j = 0; j < n; j ++ )
// 判断条件换成等于n/2时输出*即可
if (abs(i - cx) + abs(j - cy) == n / 2)
cout << '*';
else cout << ' ';
cout << endl;
}
return 0;
}