精华内容
下载资源
问答
  • c++中bool函数的用法
    万次阅读 多人点赞
    2018-01-23 21:49:17

    bool型函数指的是返回值为bool类型的函数,其调用方式和int 型函数没有太大的区别。

    bool型变量的值只有 真 (true) 和假 (false)。bool可用于定义函数类型为布尔型,函数里可以有 return true; return false 之类的语句。

    示例:

    #include<iostream>
    using namespace std;
    bool cmp(int a,int b){
        if(a > b){
            return true;
        }else{
            return false;
        }
    }
    int main()
    {
        int a = 5;
        int b = 6;
        if(cmp(a,b)){
            cout << "a> b!" << endl;
        }else{
            cout << "a< b!"  << endl;
        }
        return 0;
    }
    更多相关内容
  • sort函数使用 题目,要求输入n(范围要求最大不能超过10^5),再输入n个数,按从小到大输出。 #include <iostream> #include<algorithm>//这个是sort函数的头文件,如果也可以用万能头文件#include &...

    sort函数使用

    题目,要求输入n(范围要求最大不能超过10^5),再输入n个数,按从小到大输出。

    #include <iostream>
    #include<algorithm>//这个是sort函数的头文件,如果也可以用万能头文件#include <bits/stdc++.h>
    using namespace std;
    const int N = 1e5 + 10;//1e5+10=10^5+10,加多少都可以,100,1000,目的是防止越界
    //题目规定范围就是10^5,比这个稍微大一点
    int a[N];
    
    int main()
    {
    	int n; cin >> n;
    	for (int i = 0; i < n; i++)cin >> a[i];//输入数据
    
    	sort(a , a  + n);//格式是sort(a,b)a代表需要按顺序排的第一个位置地址,
    	//b为按顺序截至排的最后一个位置地址,本函数默认是从小到大,
    	//!!也可以从大到小或者其他自定义的规则顺序,是sort(a,b,c);c为自定义的子函数
    
    	for (int i = 0; i <n; i++)cout << a[i] << " ";//输出数据
    	
    
    	return 0;
    }

    (一)为什么要用c++标准库里的排序函数

    Sort()函数是c++一种排序方法之一,它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高!

    I)Sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可!

    II)Sort函数有三个参数:

    (1)第一个是要排序的数组的起始地址。

    (2)第二个是结束的地址(最后一位要排序的地址)

    (3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。

    也可以用万能头文件#include <bits/stdc++.h>,在vs2019用不了,devc++可以。

    我们看看如何在sort函数后增加自定义函数,下述内容也有在讲解bool函数是如何使用的

    我理解bool函数有两个作用

    1,增加可读行,仅用于判断,因为它返回的值只有0和1,假和真。可以用于判定真假。

    2,节省内存空间,bool类型绝大多数编译器都将其实现为1字节,是c++最小的的数据类型。
     

    代码段

    #include <iostream>
    #include<algorithm>//也可以用万能头文件#include <bits/stdc++.h>
    using namespace std;
    const int N = 1e5 + 10;//1e5+10=10^5+10,加多少都可以,100,1000,目的是防止越界
    //题目规定范围就是10^5,比这个稍微大一点
    int a[N];
    
    
    bool cmp(int a,int b)//这里写成bool写成int作用是类似的 
    //理解, 如果  a<b的结果为假,则(a<b)=0, 那么函数就会将他们互换位置,
    //反之如果为真(a<b)=1就会保持原来位置不变。
    
    //返回类型如果是Bool类型的话 就是true=1,false=0;
    //如果返回是0的话,那么它就会交换位置,如果是1,代表不需要动。
    //这里交换是在sort头文件源代码里面有调换步骤。!!!!
    
    
    //问题:这里改为bool改为int运行结果也一样啊,那bool有什么作用呢?
    //虽然作用一样,但是bool函数返回的只有true和false。而int会返回各种数字,但是你关心的不是数字的多少,
    //而是这个数字为不为0.所以这种情况用bool会更加简洁,规范,
    //你看到bool就知道这是一个判断真假函数,但是你看到是int型呢?你可能会以为返回的数字有用,又要重新看看程序。 
    //当你写一个程序,要调用100多个自定义函数,其中又有几十个判断真假的函数时,你全用int结果可想而知 
    
    
    {
    	return a>b;//这里理解可以记住传递参数格式
    	//传递首地址给a值对应的地址。传递尾地址给b值对应的地址
    	//此时,这是一个函数 ,返回为数首地址的值大于尾地址对应值, 如果首值大于尾值,则成立,为降序,
    	//如果 首值小于尾值,则不成立,调换首尾值,仍为降序,
    }
    
    int main()
    {
    	int n; cin >> n;
    	for (int i = 0; i < n; i++)cin >> a[i];//输入数据
    
    	sort(a , a  + n,cmp); 
    
    	for (int i = 0; i <n; i++)cout << a[i] << " ";//输出数据
    	
    
    	return 0;
    }

    题目描述:

    给定N个三元组(x,y,z),其中x是整数,y是浮点数,zz 是字符串。

    请你按照x从小到大的顺序将这些三元组打印出来。数据保证不同三元组的x值互不相同。

    输入格式:

    第一行包含整数 N。接下来N行,每行包含一个整数x,一个浮点数y,一个字符串z,表示一个三元组,三者之间用空格隔开。

    输出格式:

    N行,按照x从小到大的顺序,每行输出一个三元组。注意,所有输入和输出的浮点数y均保留两位小数。

    数据范围:

    例子:

    5

    32 1.36 nsyiupnnhc

    18 4.53 fmofzwrah

    33 4.86 wzuymbm

    1 3.93 gtnrwcebt

    31 4.53 gcllxioc

    输出样例:

    1 3.93 gtnrwcebt

    18 4.53 fmofzwrah

    31 4.53 gcllxioc

    32 1.36 nsyiupnnhc

    33 4.86 wzuymbm

    这是一道讲结构体结合sort函数使用的题目 

    #include <bits/stdc++.h>
    #define rep(i, n) for (int i = 1; i <= (n); ++i)
    using namespace std;
    typedef long long ll;
    const int N = 1E3 + 10, M = 1e4 + 10;
    
    struct node
    {
    	int x;
    	double y;
    	char a[M];
    }s[N];
    
    bool cmp(node a, node b)
    {
    	return a.x < b.x;
    }
    
    int main()
    {
    	int n; cin >> n;
    	for (int i = 0; i < n; i++)cin >> s[i].x >> s[i].y >> s[i].a;
    
    	sort(s, s + n,cmp);
    
    	for (int i = 0; i < n; i++)
    	{
    		cout << s[i].x << " ";
    		printf("%.2f ", s[i].y);
    		cout << s[i].a << endl;
    	}
    
    	return 0;
    }

    如果想自定义函数,可以看看下面的这个例题 

    有一个node类型的数组node arr[100],想对它进行排序:先按a值升序排列,如果a值相同,再按b值降序排列,如果b还相同,就按c降序排列。就可以写这样一个比较函数:(跟上面所述的方法一样,将这个函数作为第三个参数传入sort()即可)

    
    struct node
    {
      int a;
      int b;
      double c;
    }
    bool cmp(node x,node y)
    {
       if(x.a!=y.a) return x.a<y.a;
       if(x.b!=y.b) return x.b>y.b;
       return x.c>y.c;
    }

    展开全文
  • bool函数使用

    千次阅读 2022-04-17 15:48:48
    本周在刷PAT题目时发现bool函数的一些简洁好用的例子,通过例题对其进行更加深入的研究学习。 BOOL是 布尔型变量,也就是逻辑型变量的定义符,类似于float、double等,只不过float定义 浮点型,double定义双精度...

    本周在刷PAT题目时发现bool函数的一些简洁好用的例子,通过例题对其进行更加深入的研究学习。

    BOOL是 布尔型变量,也就是逻辑型变量的定义符,类似于float、double等,只不过float定义 浮点型,double定义双精度浮点型。在 objective-c中提供了相似的类型BOOL,它具有YES值和NO值。布尔型变量的值只有 真(true)和假(false),可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。(百科)

    那么在c++中bool函数可以有什么作用?

     C++中如果值非零就为True,为零就是False。比如:bool   b;b=(1>2)  //此时b为falseb=(2>1)  //此时b为true。
    bool函数返回的只有true和false,而int会返回各种数字。如果你关心的不是数字的多少,而是这个数字为不为0.所以这种情况用bool会更加简洁,规范,你看到bool就知道这是一个判断真假函数,但是你看到是int型呢?你可能会以为返回的数字有用,又要重新看看程序。
    当你写一个程序,要调用100多个自定义函数,其中又有几十个判断真假的函数时,你全用int结果就会十分糟糕。
    例子:(原题PTA乙级1003我要通过!)

    得到“答案正确”的条件是:

    1. 字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;
    2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;
    3. 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字符串,或者是仅由字母 A 组成的字符串。

      输入格式:

      每个测试输入包含 1 个测试用例。第 1 行给出一个正整数 n (≤10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过 100,且不包含空格。

      输出格式:

      每个字符串的检测结果占一行,如果该字符串可以获得“答案正确”,则输出 YES,否则输出 NO

    
    #include <iostream>
    using namespace std;
    bool Judge(string s)
    {
     int i = 0;
     
     //排除长度是为零的情况
     if (s.size() == 0)
      return false;
      
    //排除含有多个P\T的情况
     short tempSum1=0;
     short tempSum2 = 0;
     for (int i = 0; i < s.size(); i++)
     {
      if (s[i] != 'P' && s[i] != 'A' && s[i] != 'T')
       return false;
      if (s[i] == 'P')
       tempSum1++;
      if (s[i] == 'T')
       tempSum2++;
      if (tempSum1 > 1 || tempSum2 > 1)
       return false;
     }
     
    //排除T在P的前面的情况
     int p1 = s.find('P');
     int p2 = s.find('T');
     if (p2 < p1)
      return false;
    
    //排除P和T之间没有A的情况
     int p3 = p1 + 1;
     if (s[p3] != 'A')
      return false;
    
    //若P和T之间只有一个A,排除P之前的A的个数与T之后的A的个数不相等的情况
     int A_num = p2 - p1 - 2;
     if (s[0] == 'A' && (p2 - p1 - 1) == 1)
     {
      if (p1 != s.size() - 1 - p2)
       return false;
     }
    
    //若第一个字母为A,且P和T之间不只有一个A,排除不满足题目中数量关系的情况
     if (s[0] == 'A' && (p2 - p1 - 1) != 1)
     {
      if (s.size() - 1 - p2 != (A_num + 1) * p1)
       return false;
     }
     
     //修成正果
     return true;
    }
    int main()
    {
     int n;
     cin >> n;
     string* p = new string[n];
     for (int i = 0; i < n; i++)
     {
      cin >> p[i];
     }
     for (int i = 0; i < n; i++)
     {
      if (i != n - 1)
      {
       if (Judge(p[i]))
        cout << "YES"<<endl;
       else
        cout << "NO"<<endl;
      }
      else
      {
       if (Judge(p[i]))
        cout << "YES" ;
       else
        cout << "NO" ;
      }
     }
     return 0;
    }

    通过对bool函数的灵活使用能够把问题需要解决的复杂操作变得十分简洁,也能够快速完成任务。

    展开全文
  • C++中bool 类型基础用法+回文数

    千次阅读 2021-11-09 23:27:18
    用法bool与int、double是相似的类型,只不过bool的值只有ture(真/1)和false(假/0)两种情况,非零即为ture,零为false. 下面我用一串代码简单验证一下 #include <iostream> using namespace std; int ...

    用法:bool 与int、double是相似的类型,只不过bool的值只有ture(真/1)和false(假/0)两种情况,非零即为ture,零为false.

    下面我用一串代码简单验证一下

    #include <iostream>
    using namespace std;
    
    int main()
    {
        bool a= true;
        cout<<a<<endl;
    return 0;
    }
    

    输出结果即为1

    例题:1−N中有多少个整数的平方在M进制下为回文数,eg:

    9046的平方81830116,16进制表示为4E0A0E4,是回文数。

    #include <bits/stdc++.h>
    using namespace std;
    int N,M;
    char n[30]="0123456789ABCDEF";  //数组给我开大点!!! 
    bool sum(int a)                //bool 新知识的 
    {
    	char m[1000];              //数组给我开大点!!!
    	a=a*a;
    	int i=0;
    	while(a!=0){              //也可以写 while(a)
    		m[i++]=n[a%M];
    		a=a/M;
    	}
    	int j=0,k=i-1;
    	while(j<k){
    		if(m[j]==m[k]){        //仔细点,不能写成 m[j]==m[i-1]
    			j++,k--;
    		}else{
    			return false;
    		}
    	}
    	return true; 
    }
    int main()
    {
    	cin>>N>>M;
    	int count=0;
    	for(int i=1;i<=N;i++){
    		if(sum(i)){           //积累sum(i)的写法 
    			count++;
    		}
    	}
    	cout<<count;
    	return 0;
    }

    总结:booi类型就可以作为判断、循环的判断一句,对于if(sum()),当sum()为true,进行接下来的操作,while(),do   while() 也可。

    上面代码的注释也是我小tips

    最后如有错误,欢迎指正哈(小萌新的卑微生活~~)

    展开全文
  • c++中bool运算

    千次阅读 2020-11-04 10:08:23
    C++语言,有两种bool(布尔)类型的表示方式: 1)直接使用bool类型 bool x = true; bool类型, 只有两个值: true false 2)使用0和非0的任何值(C语言风格) 0: 表示假 非0: 表示真 特别注意: 1>3 是假 1>...
  • bool函数使用

    千次阅读 2021-12-09 17:42:06
    bool函数使用
  • C++中SORT函数使用方法

    千次阅读 2021-04-04 15:42:08
    C++中SORT函数使用方法 一.sort函数 1.sort函数包含在头文件为#include的c++标准库,调用标准库里的排序方法可以实现对数据的排序,但是sort函数是如何实现的,我们不用考虑! 2.sort函数的模板有三个参数: void ...
  • bool 函数用法

    万次阅读 多人点赞 2018-06-19 23:37:46
    在objective-c提供了相似的类型BOOL,它具有YES值和NO值。布尔型变量的值只有 真(true)和假(false),可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果...
  • 我们经常会在一些算法场景中使用到排序功能,但是很多时候我们手写一个冒泡或者快排的话,每次需要用到就需要手写一边这个代码就很痛苦,而且效率低下,其实c++大的STL模板库为我们提供了sort函数,sort函数c++一...
  • 4. [C++] bool类型的使用

    千次阅读 2019-11-14 14:57:09
    C++中对于真和假,可以使用bool变量来表示,这和Java的boolean有些类似,下面用代码来直接展示用法。 #include <iostream> using namespace std; int main() { bool flag = true; cout << ...
  • C++中发声函数Beep用法

    2021-01-01 11:41:28
    •以前,我听过一个神犇用C++函数做的音乐,当时的心里就十分激动:哇,好厉害啊,好神啊。 •这次,我终于通过自己无助的盲目的摸索、研究,写出了这篇文章(此时我的内心是鸡冻的233) 下面是正文: •其实啊,...
  • 麻烦大神们帮我看一下需不需要改正~可以的话,可以详细讲讲bool函数的作用和用法吗?对这个函数还是不太熟悉...*/ class CDate{ public: bool set(unsigned int year,unsigned int month,unsigned day); ...
  • C#调用C++ DLL,bool返回值始终为true。
  • Dev C++中bool类型的最新可行定义方法

    千次阅读 2020-09-20 21:30:51
    我们也许会写成”bool“,这在python是对的,但是在这个IDE就不这么干了,得写成”_Bool".
  • c语言中bool用法

    千次阅读 2021-05-18 14:22:15
    C语言是目前世界上最流行、使用最广泛的高级程序设计语言之一,具有高效、可移植性好等优点,特别是在嵌入式领域有着广泛的应用。下面小编就跟你们详细介绍下c语言中bool的...但是C++中是有bool型的,并且true 和 fal...
  • 函数:虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义定义虚函数的一般形式:vitual函数返回值类型虚函数名(形参表){函数体}虚函数的作用是实现动态联编,也就是在程序的运行...
  • C++中,还添加了一种基本类型——bool类型,用来表示true和false。 true和false是字面值,可以通过转换变为int类型,true为1,false为0。 int x = true;// 1 int y = false;// 0 任何数字或指针值都可以隐式转换...
  • 本文实例讲述了C++在成员函数中使用STL的find_if函数方法。分享给大家供大家参考。具体方法分析如下: 一般来说,STL的find_if函数功能很强大,可以使用输入的函数替代等于操作符执行查找功能(这个网上有很多资料...
  • C++中sort函数详解

    千次阅读 2020-10-29 17:37:58
    sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#include的c++标准库 1.sort的参数 sort(start,end,cmp) start:表示排序数组起始的位置 end:表示排序数组结束的...
  • C++(inline函数

    千次阅读 2022-05-14 14:02:31
      当函数功能简单,使用频率很高,为了提高效率,直接将函数的代码嵌入到程序。但这个办法有缺点,一是相同代码重复书写,二是程序可读性往往没有使用函数的好。   为了协调好效率和可读性之间的矛盾
  • bool类型是C++特有的类型,它只占一个字节大小,只存放真假,例如:(1或0,true或false) 他也可以是一个表达式(0>1代表假,10>7代表真) #include <iostream> using namespace std; int main() { ...
  • 更为推荐的方法C++在编写DLL库时,对外符号禁止任何bool类型作为传参或者返回值;而对内符号可以适当放宽这个要求,但是为了保持工程的一致性,一般更推荐使用BOOL自定义宏来完成这个工作。 #ifndef BOOL #define ...
  • c语言自定义bool函数模板

    千次阅读 2020-02-04 16:50:43
    首先,c语言没有bool函数类型,只有c++中有,所以需要自定义,即c表示bool类型的方法: 1.模板1 typedef int bool; #define false 0 #define true 1 2.模板2 typedef int bool; enum { false, true }; ...
  • C++的sort()函数用法

    千次阅读 2022-02-15 16:15:47
    sort函数使用方法
  • C++中sort函数使用方法

    千次阅读 2021-02-28 11:48:00
    sort函数包含在头文件为#include的c++标准库,调用标准库里的排序方法可以实现对数据的排序。 sort函数的模板有三个参数: void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp)...
  • C++函数指针用法

    千次阅读 2022-01-06 00:25:41
    C++函数指针详细理解 函数指针初识 函数指针是指向函数的指针,并不等于函数,它能够执行函数的操作,可以跟指针变量一起来理解,其基本声明格式为: type (*ptrname)(形参列表); 例子,声明一个比较两个字符串大小的...
  • C++中的set函数用法详解

    千次阅读 2020-05-04 16:50:34
    C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set...
  • C++中的Lambda函数

    千次阅读 2021-12-23 09:09:22
    我们平时调用函数的时候,都是需要被调用函数函数名,但是匿名函数就不需要函数名,而且直接写在需要调用的地方,对于以前没用过的小伙伴来说,第一眼看见了这语法可能很迷惑。 C++11的基本语法格式为: [capture]...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 156,447
精华内容 62,578
关键字:

c++中bool函数的用法