循环

表达式

由运算符和运算对象组成的式子称为表达式ios

(1)表达式的运算对象能够是常量,变量,函数调用和嵌套的表达式算法

12+a+max(x,y)+(x+y);

(2)表达式的计算是按步骤进行的,成为表达式求值顺序函数

x>y&&x<z  //先计算x>y,若结果为假则运算结束,不然继续计算x<z

(3)表达式中的数据对象应一致spa

(4)每一个表达式的结果除了肯定的值以外,还应有肯定的数据类型code

 

循环

break语句的做用是结束switch语句和循环语句的运行,转到后续语句对象

判断一个数m是不是素数ci

#include<iostream>
using namespace std;
int main() {
	int i, m;
	cin >> m;
	for (i = 2; i <= m; i++) {
		if (m%i == 0)
			break;
	}
	if (m == i)
		cout << "yes" << endl;
	else
		cout << "no" << endl;
	system("pause");
	return 0;
}

continue语句的做用是在循环体中结束本次循环,直接进入下一次循环,只能用于循环语句(while,do,for)中,不可单独使用。it

在while循环语句和do-while循环语句中遇到continue,忽略continue以后的语句,调到while小括号中进行判断,在for循环语句中遇到continue,跳到表达式3进行判断。io

 

打印九九乘法表for循环

#include<iostream>        
using namespace std;
int main() {
	for (int i = 1; i <= 9; i++) {
		for (int j = 1; j <= i; j++) {
			cout << j << "x" << i << "=" << i*j << " ";
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

 

 

 

求π的近似值,π/4≈1-1/3+1/5-1/7+1/9,直到最后一项的绝对值小于1e-7为止

#include<iostream>
#include<cmath>
using namespace std;
int main() {
	double a = 1, b = 1, c = 1, pi = 0;
	while (fabs(c) > 1e-7) {
		pi += c;
		a = -a;       //a表示分子1,-1,1,-1……
		b += 2;       //b表示分母(依次加2)
		c = a / b;      //c表示第n项分数
	}
	cout << "PI=" << pi * 4 << endl;
	system("pause");
	return 0;
}

fabs函数是一个求绝对值的函数,要包含头文件cmath

1.利用循环实现枚举算法

枚举法,也称为穷举法,是指从可能的集合中一一枚举各个元素,用给定的约束条件判断哪些是无用的,那些是有用的。能使命题成立者即为问题的解;

利用枚举法求解问题的基本思路为:

(1)肯定枚举对象、枚举范围和断定条件

(2)一一枚举可能的解,验证是不是问题的解

百元买百鸡问题,有人有一百元钱,打算买一百只鸡。公鸡一只5元,母鸡一只3元,小鸡3只1元,求应各买多少?

#include<iostream>
#include<cmath>
using namespace std;
int main() {
	int x, y, z;
	for (x = 0; x <= 20; x++) {
		for (y = 0; y <= 33; y++) {
			for (z = 0; z <= 100; z++) {
				if (x + y + z == 100 && x * 5 + y * 3 + z / 3 == 100)
					cout << "公鸡:" << x << "只," << "母鸡:" << y << "只," << "小鸡" << z << "只" << endl;
			}
		}
	}
	system("pause");
	return 0;
}

 

2.利用循环实现迭代算法

迭代法是一种不断用变量的旧值递推新值的求解方法

#include<iostream>
using namespace std;
int main() {
	int fn = 0, f1 = 0, f2 = 1, i;
	for (i = 1; i <= 40; i++) {
		fn = f1 + f2;     //迭代关系式
		f1 = f2;
		f2 = fn;            //f1和f2迭代前进
		cout << fn << " ";
	}
	system("pause");
	return 0;
}
相关文章
相关标签/搜索