使用循环打印金字塔、乘法口诀表、水仙花数、斐波那契数列
打印金字塔
*的个数 空格的个数
第1行: 1 7(n-1)
第2行: 3 6(n-2)
第3行: 5 3
第4行: 7 2
第 i 行: 2*i-1 n-i
第 n 行: 2*n-1
- 示例:
#include <iostream>
using namespace std;
int main(void) {
int count = 0;
cout << "请输入要打印多少层:";
cin >> count;
for (int i = 1; i < count; i++) {
//打印*号
for (int j = 0; j < count - i; j++) {
cout << " ";
}
//打印空格
for (int k = 0; k <= i * 2 - 1; k++) {
cout << "*";
}
cout << endl;
}
return 0;
}
结果:
打印乘法口诀表
- 示例:
#include <iostream>
using namespace std;
int main(void) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
if (j <= i) { //分割,不然打印的就像长方形了,而不是梯形了
cout << j << "*" << i << "=" << i * j << " ";
}
}
cout << endl;
}
return 0;
}
- 结果:
计算水仙花数
-
水仙花数: 3位数字, 各位的立方之和,等于这个数本身.
说明: 严格的说只有3位的整数, 才可能是水仙花数.
-
示例:
#include <iostream>
using namespace std;
int main(void) {
int a, b, c;
for (int i = 100; i <= 999; i++) {
a = i % 10; //提取i中的个位
b = (i / 10) % 10; //提取i中的十位
c = i / 100; //提取i中的百位
if (a * a * a + b * b * b + c * c * c == i) {
cout << i << " ";
}
}
return 0;
}
结果:
输出斐波那契数列
-
输出指定项的斐波那契数列.
1, 1, 2, 3, 5, 8, 13, 21, …
-
示例:
#include <iostream>
using namespace std;
int main(void) {
int count = 0;
int a = 0 ,b = 1 , sum;
cout << "请输入要输出多少个数字:";
cin >> count;
cout << b << " ";
for (int i = 1; i < count; i++) {
sum = a + b;
a = b;
b = sum;
cout << sum << " ";
}
return 0;
}
- 结果: