break 和 continue
#include <iostream>
using namespace std;
int main(){
// break 中断本层循环
// !1 ~ 100之间累加和时, 当累加和大于1000时, 结束循环
int i = 1;
int sum = 0;
while (i <= 100){
cout <<"i = "<< i <<endl;
if (sum > 1000)
break;
sum += i;
i++;
cout <<"sum = "<< sum <<endl;
}
cout <<"sum = "<< sum <<endl;
// continue 跳过本次循环, 执行下一次循环
cout << endl;
}
continue
#include <iostream>
using namespace std;
int main(){
// continue 跳过本次循环, 执行下一次循环
// 遇到continue后面的就不会执行了
// int i = 1;
// int sum = 0;
// while (i <= 4){
// cout <<"i = "<< i <<endl;
//
// if (i == 3){
//
// continue;
// }
// sum += i;
// i++;
// }
// cout <<"sum = "<< sum <<endl;
// 计算 1 ~ 100 所有奇数累加和
int i = 1;
int sum = 0;
while (i <= 100){
cout <<"i = "<< i <<endl;
if (i%2==0){
i++;
continue;
}
sum += i;
i++;
}
cout <<"sum = "<< sum <<endl;
}
循环嵌套
#include <iostream>
using namespace std;
int main(){
// 循环嵌套
int i = 0;
while (i < 5){
cout <<"i ==============================="<< i <<endl;
int j = 0;
while (j < 6){
cout <<"j = "<< j <<endl;
j++;
}
i++;
}
}
#include <iostream>
using namespace std;
int main(){
// 打印 5 x 6 行的 *
int i = 0;
while (i < 5){
int j = 0;
while (j < 6){
cout <<"* ";
j++;
}
// 换行
cout<<endl;
i++;
}
}
for版本
#include <iostream>
using namespace std;
int main(){
// 打印 5 x 6 行的 *
for (int i = 0; i < 5; ++i) {
for (int j = 0; j < 6; ++j) {
cout <<"* ";
}
// 换行
cout<<endl;
}
}
打印等腰三角形星星
#include <iostream>
using namespace std;
//*
//* *
//* * *
//* * * *
//* * * * *
int main(){
// 打印 5 x 6 行的 *
int i = 0;
while (i < 5){
int j = 0;
while (j < i+1){
cout <<"* ";
j++;
}
// 换行
cout<<endl;
i++;
}
}
#include <iostream>
using namespace std;
//九九乘法表
int main(){
// 打印 5 x 6 行的 *
int i = 1;
while (i <= 9){
int j = 1;
while (j <= i){
cout << j <<" x " << i << " = " << i*j<< "\t";
j++;
}
// 换行
cout<<endl;
i++;
}
}
水仙花数
#include <iostream>
using namespace std;
// 输入一个数 判断他是不是水仙花数
// 水仙花数一个3位数, 个位立方 + 十位立方 + 百位立方 = 这个数
int main(){
// int num = 156;
int num = 156;
cout<<"请输入一个数"<<endl;
cin>> num;
int ge, shi, bai;
ge = num % 10;
shi = (num % 100 - ge)/10;
bai = num/100;
if ((ge*ge*ge + shi*shi*shi + bai*bai*bai) == num){
cout<<num<<" 是水仙花数呀"<<endl;
}else{
cout<<num<<" 不是水仙花数呀"<<endl;
}
}
找到所有的水仙花数
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int num=100;
while(num<=999){
int ge,shi,bai;
ge=num%10;
shi=(num%100-ge)/10;
bai=num/100;
if(pow(ge, 3) + pow(shi, 3) + pow(bai, 3)==num)
cout<<"水仙花数是"<<num<<endl;
else{
num++;
continue;}
num++;
}
}
goto语句
作用 可以无条件的跳转语句
#include <iostream>
#include <cmath>
using namespace std;
int main(){
cout<<" 1 "<<endl;
goto FLAG;
cout<<" 2 "<<endl;
cout<<" 3 "<<endl;
cout<<" 4 "<<endl;
FLAG:
cout<<" 5 "<<endl;
}
注意:在程序中不建议使用goto语句,以免造成程序流程混乱
数组
所谓数组,就是⼀个集合,⾥⾯存放了相同类型的数据元素
特点1:数组中的每个数据元素都是相同的数据类型
特点2:数组是由连续的内存位置组成的
⼀维数组
定义方式(三种)
1. 数据类型 数组名[数组长度];
2. 数据类型 数组名[数组长度] = {值1, 值2, ...}
3. 数据类型 数组名[] = {值1, 值2, ...}
#include <iostream>
using namespace std;
int main(){
// 变量类型 变量名;
int b;
b = 20;
int a = 100;
//1. 数据类型 数组名[数组长度];
int scores[10];
//2. 数据类型 数组名[数组长度] = {值1, 值2, ...}
int arr[3] = {1, 2, 3};
//3. 数据类型 数组名[] = {值1, 值2, ...}
int arr2[] = {1, 2, 3};
// 操作访问
cout << arr << endl; // 直接打印数组不会显示数组中的数据, 返回时数组元素的内存首地址(0x十六进制)
// 单个访问
// 数组名[索引] 从0开始
cout << arr[0] << endl;
cout << arr[1] << endl;
cout << arr[2] << endl;
}
作业
- 打印正方形星星, 等腰, 久久乘法表都写成for
-
10 x 10
网友评论