蓝桥杯C++组经验

/**1******************************
int :-10^9~~~10^9
long long :-10^18~~~10^18
float和double的范围不理解,直接用double

/**2****************************
 

void swap(int a,int b)//交换a,b

/****3***************************

 b = sizeof(a);//b为a所占的字节数
strlen(a)//获得字符型a的长度,a必须为字符指针

/*****4*************************************************************
c++中的快排

 bool compare(int a,int b)//大到小排序
{
    return a>b;
}
sort(数组起始地址,数组末地址,排序方法)
例
a[n]
sort(a+s,a+n,compare)//降排序,无compare则为升

其中,a+n代表a[n-1],a+s代表a[s+1],对a[s+1]到a[n-1]排序,包括a[s+1],a[n-1]

/******5*************************************************
string s;
s可以当成一个数组
/**************6****************************************
stack <char>s//定义一个char型的栈s
/************************************

int a[20]={0};//会自动把其余赋值为0

/*********************************
  c++5.4.0中min(a,b),max(a,b)返回最大值或最小值
/********************************
 

int we(int n)//求十进制位数
{
    int i = 0;
    while(n!=0)
    {   
        i++;
        n = n/10;//把10换成2,就是求二进制位数了 ,也可以进制转换
    }
    return i;
}
void we(int n)
{
    while(n!=0)
    {   
        cout<<n%2;//反过来打印
        n = n/2;//进制转换
    }
}


/******************************
 有关打印图形的,找到规律,注意与i,j的关系
/********************

void check(int i)//判断i是否为回文数,是则输出
{   int n = i;
    int judge;
    int New_n = 0;
    while(i!=0)
    {
        judge = i %10;
        New_n = New_n*10 + judge;
        i = i/10;
    }
    if(New_n == n)
    {
        cout<<New_n<<endl;
    }
}


/************************

bool check(int n)
{   if(n <= 1) return false;//0,1不是质数也不是合数,因式分解时,1当为质数
    if(n == 2 || n == 3) return true;
    if(n %6 != 1 &&n %6 != 5)return false;
    for(int i = 5;i<=sqrt(n);i+=6)
    {
        if(n % i ==0 || n %(i+2)==0)//5,7
           return false;
    }
    return true;
}


/************************

int gcd(int m, int n)  //快速求最大公因数
{  
    while(m>0)  
    {  
        int c = n % m;  
        n = m;  
        m = c;  
    }  
    return n;  
}


/**********************
 

memcmp(), memcpy(), and memmove().memset()

/******************************
next_permutation:求下一个排列组合

a.函数模板:

next_permutation(arr, arr+size);


b.参数说明:
arr: 数组名
size:数组元素个数
c.函数功能: 返回值为bool类型,当当前序列不存在下一个排列时,函数返回false,否则返回true,排列好的数在数组中存储

d.注意:在使用前需要对欲排列数组按升序排序,否则只能找出该序列之后的全排列数。
比如,如果数组num初始化为2,3,1,那么输出就变为了:{2 3 1} {3 1 2} {3 2 1}

  • 41
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
蓝桥杯C蓝桥杯竞赛中难度较高的别,需要有一定的编程基础和算法知识。以下是一些准备建议: 1. 学习基础编程语言和数据结构算法 C语言是蓝桥杯C的主要编程语言,建议先学好C语言基础,包括语法、数据类型、指针、数、字符串等知识点。同时,还需要掌握常用的数据结构算法,如栈、队列、链表、二叉树、排序、查找等。 2. 深入了解蓝桥杯竞赛 蓝桥杯竞赛有一定的规则和要求,建议提前了解竞赛的考试形式、考试时间、题目类型等。可以通过去往蓝桥杯官网查看历年真题,了解考试难度和题型分布情况。 3. 练习编程能力 提高编程能力需要多做练习,可以选择编写一些小项目,例如简单的计算器、猜数字游戏等,来提高编程水平和理解能力。同时,可以参加一些编程比赛或者刷一些算法题目,如LeetCode、牛客网等,锻炼自己的解题能力和应对考试的能力。 4. 学习团队协作能力 蓝桥杯竞赛中有团队赛和个人赛两种形式,因此具备团队协作能力也是很重要的。建议多参加团队项目,学会如何协作、如何分工、如何沟通。此外,还可以参加一些团队赛,锻炼团队合作的能力。 5. 预留充足的备考时间 蓝桥杯C的考试难度较高,因此需要提前进行充分的备考。建议在考试前至少提前1-2个月进行系统的复习和练习,保证自己在考试中有足够的发挥空间。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cai-LF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值