概述
那我今天就来浅显的谈谈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检验
随后的多次检验也没有问题
如果你对bool类型有其他的想法,不妨在评论区提出
码字不易,给个关注吧~我是小依酱,我们下次再见。
最后
以上就是精明薯片为你收集整理的bool类型数组转换成一个整数_c++-bool数据类型的运用的全部内容,希望文章能够帮你解决bool类型数组转换成一个整数_c++-bool数据类型的运用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复