【C++】If语句

之前的学习,真的让我收获很多,这两天要一股脑的写出来,还真是有点硕果颇丰的感觉。

       今天的这篇博文主要讲述if语句的一些入门知识。老规矩,由问题来引入。

       1.显示两个数字中较大的

#include <iostream>
int main()
{
    std::cout<< "Please input two numbers."<< std::endl;
    int a, b;
    std::cin>> a>> b;
    <span style="color:#3366ff;">if (a>=b){ std::cout<< "The larger number of the two numbers is "<< a<< std::endl;}
    else { std::cout<< "The larger number of the two numbers is "<< b<< std::endl;}
</span>    return 0;
}

       我highlight了if语句的主体,显然,if语句是一个条件语句,一般来说由if和else两部分构成,两者是平等关系,也就是说是同步执行的,只是需要按照不同的条件来划分执行结果。有了if语句的判断,我们就可以很方便的解决很多的问题。

————————————————————————————————————————————————

       2.计算出所给数字中负数的个数

       对于既定总个数的数字,如果总的个数并不多的情况下,我们甚至可以对于每一个输入来写if语句,但是这里我给出的是计算随机输入的数字中负数的个数。这里需要用到前面提到的即时读取的功能,并做一些小的修改。

#include <iostream>
int main() 
{
    std::cout<< "Please input some numbers."<< std::endl;
    int a, i=0;
    while (std::cin>> a) //there is no semicolon at the end of while statement, so next sentence will be in one statement with this.
    if (a<0){++i;} // can get each value of "a" when user entered.
    if (i>=2){std::cout<< "There are "<< i<< " negative numbers."<< std::endl;}
    else {std::cout<< "There is "<< i<< " negative number."<< std::endl;}
    return 0;
}

        可以看到,我们在这里运用了两个if语句,一个是判断a是不是小于0,另一个是判断负数的个数是不是大于等于2。If语句的应用应该还是很简单的,主要是要找好判定标准。

————————————————————————————————————————————————

        下面我们再看看if语句在其他方面的应用。

        3.计算v1到v2之间整数的累加之和

        可见,v1和v2都是不可知的,也不知道谁大谁小,所以我们可以假设两个值l(low)和h(high)分被代表较小和较大的两个数字。那么,不管什么情况,l<=h。也就是说,我们就可以通过if来判定,把v1和v2的值按照不同的情况赋给l和h。如下:

#include <iostream>
int main()
{
    std::cout<< "Please enter two numbers."<< std::endl;
    int v1, v2;
    std::cin>> v1>> v2;
    int l, h;
    if (v1<=v2){l=v1; h=v2;}
    else       {l=v2; h=v1;}
    int sum=0;
    for (int a=l; a<=h; ++a) sum+=a;
    std::cout<< "Sum of "<< l<< " to "<< h<< " is "<< sum<< " ."<< std::endl;
    return 0;
}

        4.打印出a到b之间的整数

        同上,这里并不知道是从a到b,还是从b到a。所以还是要用一个if语句来判断。

#include <iostream>
int main()
{
    std::cout<< "Please enter two numbers and with a '.' for end."<< std::endl;
    int a, b;
    while (std::cin>> a>> b); //prompt user to enter 2 random numbers.
    int l, h;
    if (a<=b){l=a;h=b;}
    else {h=a;l=b;} // l<=h
    while(l<h-1){++l; std::cout<< l<< " ";} //print "l" each time when it plus 1, untill l=h-1.
    return 0;
}

       这样就可以很轻松的得到两个数之间的整数。

       但是有个问题出现了,如果a跟b之间相差很大的话,所得的结果显示出来是很混乱的,怎样才能让显示结果能够更人性化,更美观呢?这个我现在还没有弄懂,有待解决哈···



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值