bool类型_c++-bool数据类型的运用

185d5f9631b605f7d9db52c4aa034716.png

那我今天就来浅显的谈谈bool在编程方面的运用

c++的基本数据类型有:

整型(int)

浮点型(float/double)

字符型(char)

布尔型(bool)

bool类型属于基本数据类型的一种,对我个人而言我一般将它用于for循环中来区别特殊数据,比如将符合条件的数据进行输出 。

如果初学者对bool数据类型还是不太了解,那么举个例子,在一排商品中有一些合格的混在不合格的商品中。bool类型就相当于合格章,被它盖上合格章的商品就会在最终出生产线的时候被保留并输出。

bool类型有两种状态,true/false

true相当于1表示真命题,false相当于0表示假命题

然我来用一个例子说明(这是我们老师布置的作业之一):

(会绕圈的数)任意一个正整数,把它的每一位数字都平方后相加得到一个数;将这个数的每一位数字再平方相加;依次进行就会产生循环现象。例如:1234。

1ˆ2+2ˆ2+3ˆ2+4ˆ2=1+4+9+16=30

3ˆ2+0ˆ2=9

9ˆ2=81

8ˆ2+1ˆ2=64+1=65

6ˆ2+5ˆ2=36+25=61

6ˆ2+1ˆ2=36+1=37

3ˆ2+7ˆ2=9+49=58

5ˆ2+8ˆ2=25+64=89

8ˆ2+9ˆ2=64+81=145

1ˆ2+4ˆ2+5ˆ2=1+16+25=42

4ˆ2+2ˆ2=16+4=20

2ˆ2+0ˆ2=4+0=4

4ˆ2=16

1ˆ2+6ˆ2=1+36=37

由于前面已出现过37,这时就产生了循环。

设计一个程序,对给定的一个数,打印出到出现循环为止的所有数。

给定我编写的程序(附简单注释):

#include <iostream>

using namespace std;

int sum(long int a) //定义一个函数,表示为把给定的数a每位数字平方后再相加。

{

int b;

int s=0;

for(int i=1;i<=11;i++) //我决定只循环11次而不浪费时间也不用寻找输入数字的位数。

{

b=a%10; //取最低位的数字

a=a/10; //除去最低位的数字

s=s+b*b; //平方求和,累加

}

return s;

}

int main()

{

cout<<"神秘小程序-会绕圈的数"<<endl<<endl<<endl<<"请输入一个正整数:"<<endl;

int s=1;

int b[100]={0}; //定义容量100的数组,每一个为0

int m,a;

cin>>a;

b[0]=a;

bool p=true;//设定一个bool类型,默认为真

for(int i=1;i<=100;i++)

{

if(p==true)//如果p为真,则进行以下程序

{

m=sum(a);

b[i]=m;//将每一次的运算结果赋值给b数组

a=m;

s=s+1;

for(int j=0;j<s-1;j++)//检验,如果有重复出现的,则p变为假

{

if(m==b[j])

p=false;

}

}

else

break;//检验到p为假命题则直接跳出该循环

}

cout<<"输出结果:"<<endl;

for(int k=0;k<s;k++)

cout<<b[k]<<" ";

return 0;

}

然后我们输入1234检验

18345eac0735839edc68c0394e042b3d.png

随后的多次检验也没有问题

61bac23fc61f675c6e6ce52428cffb67.png

59766f761972bfca2be636dd4a43985a.png

如果你对bool类型有其他的想法,不妨在评论区提出

码字不易,给个关注吧~我是小依酱,我们下次再见。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值