C++学习3(switch while do...while)

#include <iostream>
using namespace std;
#include<ctime>//系统时间的头文件
int main()
{
	/*三目运算符   表达式1 ? 表达式2 : 表达式3
	如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
	如果表达式1的值为假,执行表达式3,并返回表达式3的结果;*/

	int num1=10, num2=20, num3=0;
	num3 = num1 > num2 ? num1 : num2;
	cout << "num3=" << num3 << endl;

	//C++中的三目运算符返回的是变量,可以继续赋值
	/*(num1 > num2 ? num1 : num2) = 100;
	cout << "num1=" << num1 << endl;
	cout << "num2=" << num2 << endl;*/
	(num1 < num2 ? num1 : num2) = 100;
	cout << "num1=" << num1 << endl;
	cout << "num2=" << num2 << endl;
	cout << "\n" << endl;
	
	//switch 语句
	//给电影打分   10-9经典  8-7 非常好    6-5一般  5以下 烂片
	int score = 0;
	cin >> score;
	cout << "您打的分数为: " <<score<< endl;
	switch (score)
	{
		case 10:
			//cout << "您认为该电影为经典电影" << endl;break;
		case 9:
			cout << "您认为该电影为经典电影" << endl;break;
		case 8:
			//cout << "您认为该电影非常好" << endl;break;
		case 7:
			cout << "您认为该电影非常好" << endl;break;
		case 6:
			//cout << "您认为该电影一般" << endl;break;
		case 5:
			cout << "您认为该电影一般" << endl;break;
		default: 
		    cout << "您认为该电影为烂片" << endl;break;
	}
	
	cout << "\n" << endl;
	//循环结构
	//while 循环语句  例子在屏幕打印0-9数字
	int num4 = 0;
	while (num4<10) {
		cout << num4 << endl;
		num4++;
	}
	//注意 执行循环语句的时候,必须提供跳出循环的出口,否则会出现死循环
	//while 循环案例  猜数字

	int num5;
	//添加一个随机数种子,利用系统时间生成随机数,防止每次随机数都一样
	/*随机数种子:随机数的产生是由算术规则产生的,srand(seed)的随机数种子不同,
	rand()的随机数值就不同,倘若每次的随机数种子一样,则rand()的值就一样。
	所以要产生随机数,则srand(seed)的随机数种子必须也要随机的。*/
	srand((unsigned int)time(NULL));//把当前系统时间作为生成随机数的种子
	num5 = rand() % 100 + 0; // 生成一个0 - 99的随机数改成+1则是1-100;
	//cout << "生成的随机数为:" << num5 << endl;
	cout << "请玩家输入猜的数值" << endl;
	int num6;

	int num7 = 0;//限制猜数的次数

	while (num7<5)
	{
		num7++;
		cin >> num6;
		if (num6 > num5) {
			cout << "猜的过大" << endl;
		}
		else if (num6 < num5) {
			cout << "猜的过小" << endl;
		}
		else {
			cout << "恭喜您猜对了" << endl;
			break;//利用break关键字跳出循环
		}
	}
	if (num6 != num5)
	{
		cout << "很遗憾你没有完成游戏" << endl;
	}
	cout << "\n" << endl;
	//do   while 循环语句   先执行循环语句,再判断条件
	//案例   在屏幕中输出0-9  这10个数
	int num8 = 0;//C++中0为假,吗,其他为真
	do 
	{
		cout << num8 << endl;
		num8++;
	} while (num8 < 10);
	/*注意和
	while(num)
	{
		cout << num8 << endl;
		num8++;
	}的区别*/
	cout << "\n" << endl;
	//练习案例   水仙花数,(每位上的数的3次幂的和等于它本身)用do  while语句求出所有三位数中的水仙花数
	int num9 = 100;
	do
	{
		int a = num9 % 10;
		int b = num9 / 10 % 10;
		int c = num9 / 100;

		if (a * a * a + b * b * b + c * c * c == num9) {
			cout << num9 << endl;

		}
		num9++;
	} while (num9 < 1000);

	system("pause");
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值