平时问题汇总(持续更新)

1. 判断边界一定要注意,是  i>=0&&i<m   j>=0&&j<n 或者 i>=1&&i<=m   j>=1&&j<=n .这一小问题要特别注意。

2. ++i  不能随便用 要和 i+1 区别开 前者i的值发生变化而后者i的值保持不变,不能用混

3. 递归求两个数的最大公约数

int gcd(int m,int n)
{
    return n==0?m:gcd(n,m%n);
}
4. 一个递归函数往往首先要考虑是否越界,然后再进行其它操作

5. 

#include <iostream>
//#include <string.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

int main()
{
    char c;
    c=getchar();
    string s;
    getline(cin,s);
    int t;
    t=s.length();
    cout<<c<<endl;
}
getchar() 和getline(cin,s)的头文件都是#include <stdio.h>  codeblocks里面
6.

#include <iostream>
using namespace std;
int main()
{
	int *a=new int[4]();  //该语句的作用是把a数组里面的四个元素赋值为0   ps:该语句在VC 6.0里面不起作用,不能赋值为0 , 在codeblocks里面可以执行
	for(int i=0;i<=3;i++)
		cout<<*(a+i)<<endl; //输出四个0
    delete []a;
	return 0;
}
7. char  a[100] ;    使用cin>>a可以 ,但不能存空格 , int a[100], 不能用cin>>a

8. string a; getline(cin,a) 头文件<string.h>    char a[100];   gets(a)头文件 <stdio.h> 二者都可以存空格 string a; cin>>a 不可以存空格

9. int a[100][100]= { {0} }; 初始化二维数组

10. 

while(scanf("%d",&n)==1)   注意==1有时候加上这个就由超时变成不超时
11.    奇数与1   得1       (3&1) (5&1)    都是1     注意加括号
          偶数与1   得0     (2&1)  (6&1)  都是0     注意加括号

12.   编程中0这个数字需要特别特别注意,考虑下要不要单独处理,而且绝不能出现在除数的位置,切记!

13. cout<<'A'+1;  和char s='A'+1; cout<<s; 不一样 ,前者输出的是数字65,后者输出的是B。

14. 字母O和数字0千万别搞混了,有时候因为这一个小错误,而导致全盘皆输。

15. 写组合函数公式时:

for(int i=0;i<n;i++)
	{
		cmn=cmn*(m-i)/(i+1);
	}


不能写成cmn/(i+1)*(m-i), 因为cmn初值为1,一相除会有误差。

采用递归的形式:

int c(int m,int n)
{
	if(n==0)
	return 1;
	if(n>m)
	return 0;
	return c(m-1,n)+c(m-1,n-1);
}


 16. 用一个vis数组来记录是否访问过,用bool类型,别用int类型,二者是不超时与超时的区别。

17.   const int N= 100;    int   a[N], 对a初始化时,最大界限是N-1, 不是N

 18. 对于无穷大 const int inf=0x7fffffff  ,对数组赋值时用 fill(dp,dp+n,inf) ,不能用memset

 19.π因为精度问题 ,代码中最好用 acos(-1)。有时候会因为精度不够通不过。

20.文件输入代码 freopen("input.txt", "r", stdin);

21. 

cout<<0x7fffffff<<endl;         2147483647//不能用memset赋值
    cout<<0x3f3f3f3f<<endl;     1061109567 //可用memset给数组赋值,值为原数

22. 随机数

srand(time(0));                                           //根据系统时间设置随机数种子
int i = rand() % N;                                       //取得区间[0,N)的整数

23.从文件中读入

freopen("a.txt","r",stdin);

k=0;

while(1)

{

cin>>data[k];//从文件中读入数到data[]中,k为数据的个数,一开始初始化data[]=-1,退出条件

if(data[k]==-1)

break;

k++;

}

freopen(" con: ", " r ",stdin);//转到控制台

cin.clear();


24. const int inf=0x3f3f3f3f;   

int a[5];   可以用 memset(a,inf,sizeof(a));

double b[5]; 不可以用 memset(b,inf,sizeof(a));

25.   bool 数组里面只能用0 或1  不能存其它值,切记啊!

26. sort这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b)。简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了,默认的排序方式是升序。

27.  for( i =a ;i <= b;i++)  注意for循环里面i 和a ,b 的类型要一致 ,不能一个 int 一个long long

28. 输入如下的01矩阵

011

101

110 每一行的三个数是连续的,要想分开存入矩阵中,读入的时候用 scanf("%1d",&num);就可以了。

28. bool b[] ;数组是可以用memset(b,true,sizeof(b)); 或 memset(b,false,sizeof(b));

因为bool占一个字节,每个字节都初始化为00000001

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值