循环结构程序设计
for语句
// i从0变化到n-1,一共循环n次
for (int i = 0; i < n; i++){
}
for (int i = 1; i <= n; i++){
//...
}
// 格式
for (控制变量初始化表达式;条件表达式;增量表达式){
}
for (int i = 2; i <= n; i += 2){
}
// 循环嵌套,表达清楚循环的过程
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++){
//...
}
//可能会对读入n个数,读入环节产生障碍
//
//
#include <bits/stdc++.h>
using namespace std;
int sum;
double ave;
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
int x;
cin >> x;
sum += x;
}
ave = sum * 1.0 / n;
printf("%d %.5lf\n", sum, ave);
return 0;
}
//介绍”打擂台“
#include <bits/stdc++.h>
using namespace std;
int ans = -1;
int main()
{
int n;
cin >> n;
while (n--)
{
int x;
cin >> x;
ans = max(ans, x);
}
cout << ans << endl;
return 0;
}
//
//
//判断奇数
//模2不为0
for (int i = m; i <= n; i++)
if (i % 2) sum += i;
//能被17整除,模17等于0
if (x == 1) a++;
if (x == 5) b++;
if (x == 10) c++;
//
//这个幂次的数学概念,如果不清楚,视频问我
long long res = 1ll;
while (n--)
{
res *= a;
}
//1ll,1后面有两个l(小写L),表示的是long long类型
//
//
//
//原题
//
//
//
//
//
//
//稍微思考一下
//对小数的理解
//不能使用double,题目求小数点后10000位
//
//题目要求:若幂本身不足三位,在前面补零
//这个需要考虑一下如何编程实现
while语句
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
// 循环n次
while (n--){
//...
}
return 0;
}
while (true){
if (x == 100) break; //跳出循环
if (x % 2 == 1) continue; //本次循环到此为止,执行下一次循环
x += 1;
}
while (1){
x++;
}
for (int i = 0; i < n; i++){
int j = i;
while (j < n) j++;
// ...
}
/*
do{
// ...
}while (true);
*/
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int x = 100;
while (x < 100){
x++;
}
cout << x << '\n';
int y = 100;
do{
y++;
}while (y < 100);
cout << y << '\n';
return 0;
}
//这个画图理解一下过程
//
//
//这个操作需要熟练
//这个操作需要熟练
//
循环嵌套
//有两重循环,或者一重循环的写法
//
//
//
//
//
//
//
//介绍试除法判断质数模板
//
//枚举取值范围