声明:本文案例来自B战黑马程序员C++教程,未使用黑马视频中代码,如有雷同纯属巧然,用于交流学习使用。有错误或者不清楚的地方,欢迎评论,共同学习。
1.选择结构案例(三只小猪称体重)
三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?
#include<iostream>
using namespace std;
int main() {
//三只小猪称体重,判断那只最重
//定义三只小猪的体重分别为A.B.C
int A, B, C;
cout << "请输入A小猪的体重:" << endl;
cin >> A;
cout << "请输入B小猪的体重:" << endl;
cin >> B;
cout << "请输入C小猪的体重:" << endl;
cin >> C;
if (A > B) {
if (A > C) {
cout << "A小猪最重" << endl;
}
else
{
cout << "C小猪最重" << endl;
}
}
else {
if (B > C) {
cout << "B小猪最重" << endl;
}
else
{
cout << "C小猪最重" << endl;
}
}
system("pause");
return 0;
}
2.循环结构案例(猜数字)
猜数字游戏规则:系统随机生成一个1~100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并且退出游戏。
方法1:使用for循环
#include<iostream>
using namespace std;
#include<ctime>
int main() {
//生成随机数种子
srand((unsigned int)time(NULL));
//给num赋值随机数
int num = rand() % 100 + 1;
//定义输入的整数
int i;
cout << "请输入一个整数" << endl;
cin >> i;
//for循环开始
//定义变量j用来记录循环次数
for (int j = 1; j <= 5; j++)
{
if (i < num) {
cout << "小了" << endl;
}
else if (i > num) {
cout << "大了" << endl;
}
else if (i == num)
{
cout << "恭喜您,猜对了" << endl;
break;
}
if (j < 5) {
cout << "请重新输入一个数" << endl;
cin >> i;
}
}
if (i != num) {
cout << "您已猜了5次,还未猜对,失败了!" << endl;
}
system("pause");
return 0;
}
方法2:使用while循环
#include<iostream>
using namespace std;
#include<ctime>
int main() {
//生成随机数种子
srand((unsigned int)time(NULL));
//给num赋值随机数
int num = rand() % 100 + 1;
//定义输入的整数
int i;
cout << "请输入一个整数" << endl;
//输入整数
cin >> i;
//while循环判断所输入数和随机数的大小,并输出结果
int j = 0;
while (1) //1表示while语句一直循环,后面有两个break都可以跳出循环
{
++j;
if (i < num) {
cout << "小了" << endl;
}
else if(i>num){
cout << "大了" << endl;
}
else if(i==num)
{
cout << "恭喜您,猜对了" << endl;
break;
}
//规定在一定次数内猜对,如果猜不对,会显示失败
//如果不需要可以删除此部分
if (j >= 5) {
cout << "您已猜数超过5次,失败了!" << endl;
break;
}
cout << "请重新输入一个数" << endl;
cin >> i;
}
system("pause");
return 0;
}
3.do while循环(水仙花案例)
水仙花案例描述:水仙花数是一个3位数,它的每个位上的数字的3次幂之和等于它本身。
例如1^3+5^3+3^3 = 153
#include<iostream>
using namespace std;
int main() {
int n = 100;
do
{
int x = n % 10; //个位
int y = (n % 100)/10; //十位
int z = n / 100; //百位
//网上查到可以使用pow函数求一个数的n次方,此处n为3,不是代码中定义的n
if (n==pow(x,3) + pow(y,3)+pow(z,3)) {
cout << n << endl;
}
n++;
} while (n>=100 && n<1000);
system("pause");
return 0;
}
4.for循环(敲桌子)
案例描述:从1开始数到数字100,如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,就打印敲桌子,其余数字直接打印输出。
#include<iostream>
using namespace std;
int main() {
int i;
for (i = 1; i <= 100; i++) {
if ((i%10)==7||(i/10)==7||(i%7)==0) {
cout << "敲桌子" << endl;
}
else
{
cout << i << endl;
}
}
system("pause");
return 0;
}
//(i%10)==7是计算个数是否为7
//(i/10)==7是计算十位是否为7
//(i%7)==0是计算i是否是7的倍数
5.九九乘法表
#include<iostream>
using namespace std;
int main() {
for (int i = 1; i <= 9; i++) //行
{
for (int j = 1; j <= i; j++) { //列
cout << j << " * " << i << " = " << i * j << " ";
}
cout << endl;
}
system("pause");
return 0;
}