VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 210|回复: 1

[交流] c++学习之路 三只小猪称体重,基础语法,大牛飘过

[复制链接]
13_avatar_middle
最佳答案
1 
在线会员 发表于 2021-4-7 22:51:19 | 显示全部楼层 |阅读模式
有三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?

if---while---do---while 练习九九乘法表

vs2019新建工程  空项目
#include <iostream>  c++的标准输入输出流    c的标准输出流 stdio.h
#include <string>     //字符串头文件
using namespace std;  //标准的命名空间

练习逻辑判断,适合我这个小白,记录练习的点点滴滴
//先定义三只小猪,初始值为0
        int num1 = 0;
        int num2 = 0;
        int num3 = 0;

        //让用户分别输入小猪的体重
        cout << "请输入小猪A的体重" << endl;
        cin >> num1;
        cout << "请输入小猪B的体重" << endl;
        cin >> num2;
        cout << "请输入小猪C的体重" << endl;
        cin >> num3;
        //判断用户输入的那只小猪最重
        if (num1>num2) //判断小猪A比小猪B重
        {
                if (num1 > num3) ////判断小猪A比小猪C重
                {
                        cout << "小猪A最重" << endl;
                }
                else
                {
                        cout << "小猪C最重" << endl;
                }
        }
        else
        {
                if (num2>num3)//判断小猪B比小猪C重
                {
                        cout << "小猪B最重"<<endl;
                }
                else
                {
                        cout << "小猪C最重" << endl;
                }
        }
这样是不是就完了呢 =?

输入完之后  还要重新打开再次输入很麻烦  加入一个while循环 这样可以一直输入了  

#include <iostream>
#include <string>
using namespace std;

int main()
{
        //先定义三只小猪,初始值为0
        int num1 = 0;
        int num2 = 0;
        int num3 = 0;
        while (true)
        {
                //让用户分别输入小猪的体重
                cout << "请输入小猪A的体重" << endl;
                cin >> num1;
                cout << "请输入小猪B的体重" << endl;
                cin >> num2;
                cout << "请输入小猪C的体重" << endl;
                cin >> num3;
                //判断用户输入的那只小猪最重
                if (num1 > num2) //判断小猪A比小猪B重
                {
                        if (num1 > num3) ////判断小猪A比小猪C重
                        {
                                cout << "小猪A最重" << endl;
                        }
                        else
                        {
                                cout << "小猪C最重" << endl;
                        }
                }
                else
                {
                        if (num2 > num3)//判断小猪B比小猪C重
                        {
                                cout << "小猪B最重" << endl;
                        }
                        else
                        {
                                cout << "小猪C最重" << endl;
                        }
                }
        }
       
        system("pause");
        return 0;
}

三目运算符  **语法:**`表达式1 ? 表达式2 :表达式3`
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;

如果表达式1的值为假,执行表达式3,并返回表达式3的结果。
int num1 = 10;
        int num2 = 20;
        int num3 = 0;

        num3=(num1 > num2 ? num1 : num2);
        cout << "num3=" <<num3<< endl;
        system("pause");
        return 0;
你学废了吗?
int num1 = 10;
        int num2 = 20;
        int 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;
        system("pause");
        return 0;

switch练手
//请给电影评分
//10 ~ 9   经典   
// 8 ~ 7   非常好
// 6 ~ 5   一般
// 5分以下 烂片

int score = 0;
cout << "请给电影打分" << endl;
cin >> score;

switch (score)
{
case 10:
case 9:
    cout << "经典" << endl;
    break;
case 8:
    cout << "非常好" << endl;
    break;
case 7:
case 6:
    cout << "一般" << endl;
    break;
default:
    cout << "烂片" << endl;
    break;
}

system("pause");

return 0;
注意1:switch语句中表达式类型只能是整型或者字符型

注意2:case里如果没有break,那么程序会一直向下执行

总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间


练习案例:水仙花数
案例描述:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
例如:1^3 + 5^3+ 3^3 = 153
请利用do...while语句,求出所有3位数中的水仙花数
      //获取个位 153%10=3 对数字取模于10可以获取到个位
        //获取十位   153/10 15%10=5 先整除于10得到二位数在取模于10,得到十位
        //获取百位  153/100  就可以得到百位
        int num1 = 100;
        do
        {
                int a = 0; //个位
                int b = 0; //十位
                int c = 0; //百位
                a = num1 % 10;
                b = num1 / 10 % 10;
                c = num1 / 100;
                if (a*a*a+b*b*b+c*c*c==num1)
                {
                        cout << num1 << endl;
                }
                num1++;
        } while (num1<1000);

for循环练习九九乘法表  
  for (int i=1;i<=9;i++)
        {
                for (int j=1;j<=i;j++)
                {
                        cout << j << "*" << i << "=" << j * i<<" ";
                }
                cout << endl;
        }

while循环练习九九乘法表
int i = 1;
       
        while (i <= 9)
        {
                int j = 1;
                while (j<=i)
                {
                        cout << j << "*" << i <<"="<<j * i << " ";
                        j++;
                }
                i++;
                cout << endl;
        }

do while练习九九乘法表
int i = 1;
        do
        {
                int j = 1;
                do
                {
                        cout << j << "*" << i << "=" << j * i << " ";
                        j++;
                } while (j<=i);
                i++;
                cout << endl;
        } while (i<=9);
不明白的地方已经搞明白了,嘻嘻

评分

参与人数 2驿站币 +2 热心值 +3 收起 理由
98_avatar_small tomok + 1 很给力!
58_avatar_small thzzl + 2 + 2 很给力!

查看全部评分





上一篇:VS2010怎么打开高版本工程或解决方案
下一篇:C++的点滴记录 练习数组,大牛飘过
40_avatar_middle
最佳答案
0 
在线会员 发表于 2021-4-8 18:00:26 | 显示全部楼层
while循环练习九九乘法表c++学习之路  三只小猪称体重,基础语法,大牛飘过
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2021-4-23 04:19

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表