csp——C++相邻数对

简介: csp——C++相邻数对


前言

大家好,我是yma16,本文分享csp——C++相邻数对

c++语法

C++是一种面向对象编程语言,其语法基本遵循C语言的语法规则。以下是C++的基本语法:

  1. 注释:

C++支持单行注释和多行注释

单行注释:以"//“开头,注释内容在”//"和行尾之间。

多行注释:以"/“开头,以”/"结尾,注释内容在两个符号之间。

  1. 标识符:

标识符指的是变量、函数、类、对象等命名时使用的名称,必须以字母、下划线或美元符开头,可以包含字母、下划线、数字或美元符,区分大小写。

  1. 关键字:

C++有一些关键字,不能作为标识符,例如if、else、while、for等。

  1. 变量声明:

在C++中,变量声明必须先进行,然后才能进行变量的初始化或赋值。

变量声明的语法为:数据类型 变量名;

例如:int a;

  1. 变量初始化:

C++中,变量可以在声明时初始化,也可以在之后赋值,初始化的语法为:数据类型 变量名 = 初始化值;

例如:int a = 2;

  1. 数据类型:

C++支持多种数据类型,包括:整型、字符型、浮点型、布尔型等。

  1. 运算符:

C++中,支持多种运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。

  1. 控制语句:

C++支持多种控制语句,如if语句、while语句、for语句、switch语句等。

  1. 函数:

C++中,函数可以带参数或不带参数,可以有返回值或无返回值。

函数的语法为:返回值类型 函数名(参数列表) {函数体}

例如:int add(int a, int b) { return a + b; }

  1. 类:

C++是一种面向对象编程语言,类是其最基本的概念之一,类可以包含数据成员和成员函数,可以进行封装、继承和多态。

类的语法为:class 类名 { private: 成员变量; public: 成员函数; };

以上是C++的基本语法,掌握了这些内容,就可以开始进行C++编程了。

c++基本数据类型

C++基本数据类型有以下类型:

  1. 整型 (int):用于存储整数,包括负数和零。
  2. 浮点型 (float, double):用于存储实数,包括小数和大数。
  3. 字符型 (char):用于存储单个字符。
  4. 布尔型 (bool):用于存储真或假两种状态。
  5. 空型 (void):表示没有任何值,通常用于函数返回值类型或指针类型。

C++的输入输出

C++的标准输入输出流库是iostream。它包含了两个基本的类:istream和ostream,分别用于输入和输出。

输入:

从标准输入读取数据可以使用cin对象,也可以使用getline函数读取一整行数据。

输出:

向标准输出打印数据可以使用cout对象,也可以使用printf函数。

代码示例:

#include <iostream>
#include <cstdio>
using namespace std;
int main() {
    int x;
    cin >> x;
    cout << "x = " << x << endl;
    printf("x = %d\n", x);
    string s;
    getline(cin, s);
    cout << "s = " << s << endl;
    return 0;
}

在上面的示例中,我们从标准输入读取了一个整数x,并使用cout和printf分别打印了x。另外,使用了getline函数读取了一行字符串s,并使用cout打印了s。

题目

问题:

给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。

输入格式

输入的第一行包含一个整数n,表示给定整数的个数。第二行包含所给定的n个整数。

输出格式

输出一个整数,表示值正好相差1的数对的个数。

样例输入

6

10 2 6 3 7 8样例输出

3

样例说明

值正好相差1的数对包括(2,3),(6,7),(7,8)。

评测用例规模与约定

1<=n<=1000,给定的整数为不超过10000的非负整数。

题目如下图:

代码实现

思路模拟过程

c++代码如下:

#include<iostream>
using namespace std;
int a[1000];
int main(){
  int n;
  cin>>n;
  for(int i=0;i<n;++i){
    cin>>a[i];
  }
  int result=0;
  for(int i=0;i<n;++i){
    for(int j=0;j<n;++j){
      if(a[i]-a[j]==1){
        ++result;
      }
    }
  }
  cout<<result;
  return 0;
}

运行结果:正确 100

结束

本文分享到这结束,如有错误或者不足之处欢迎指出,感谢大家的阅读!

目录
相关文章
|
11月前
|
算法 测试技术 C#
C++前缀和算法的应用:得到连续 K 个 1 的最少相邻交换次数 原理源码测试用例
C++前缀和算法的应用:得到连续 K 个 1 的最少相邻交换次数 原理源码测试用例
|
机器学习/深度学习 算法 安全
CCF—CSP第一题题解(C++)
CCF—CSP第一题题解(C++)
281 0
CCF—CSP第一题题解(C++)
|
4天前
|
存储 编译器 C++
【c++】类和对象(中)(构造函数、析构函数、拷贝构造、赋值重载)
本文深入探讨了C++类的默认成员函数,包括构造函数、析构函数、拷贝构造函数和赋值重载。构造函数用于对象的初始化,析构函数用于对象销毁时的资源清理,拷贝构造函数用于对象的拷贝,赋值重载用于已存在对象的赋值。文章详细介绍了每个函数的特点、使用方法及注意事项,并提供了代码示例。这些默认成员函数确保了资源的正确管理和对象状态的维护。
21 4
|
5天前
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
18 4
|
28天前
|
存储 编译器 对象存储
【C++打怪之路Lv5】-- 类和对象(下)
【C++打怪之路Lv5】-- 类和对象(下)
25 4
|
28天前
|
编译器 C语言 C++
【C++打怪之路Lv4】-- 类和对象(中)
【C++打怪之路Lv4】-- 类和对象(中)
20 4
|
28天前
|
存储 安全 C++
【C++打怪之路Lv8】-- string类
【C++打怪之路Lv8】-- string类
19 1
|
1月前
|
存储 编译器 C++
【C++类和对象(下)】——我与C++的不解之缘(五)
【C++类和对象(下)】——我与C++的不解之缘(五)
|
1月前
|
编译器 C++
【C++类和对象(中)】—— 我与C++的不解之缘(四)
【C++类和对象(中)】—— 我与C++的不解之缘(四)
|
1月前
|
C++
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
53 1