近日算法零碎知识笔记(一)

  1. Proceed to the end of file.
        在Input要求中看到这句话,就代表样例数据要一直输入到没有输入了为止,常见方法是(假设每组数据要输入n与m):

    	while(cin>>n>>m){ }
    
    	while(scanf("%d %d",&n,&m) == 2){ }
    
    	while (~scanf("%d %d",&n,&m)){ }
    	while (scanf("%d%d",&m,&n) != EOF) { }
    

        这两行的意思是一样的,scanf的返回值是成功输入变量的个数,假如输入出错就返回EOF(定义为-1),~按位取反后就为0,退出循环。如果此循环结束后还需要输入数据,那么因为它会把错误数据也读入stdin导致影响到下一步。
    按Ctrl+Z再按Enter可结束。

  2. PI定义:需要<cmath>

    	const double PI = acos(-1.0);
    

    学会多用const

  3. float,double输入输出
    输入:double用%lf,float用%f
    输出:C99都用%f,C89的double可以%lf

  4. gets()在C11中被移除了
    keep it simple and stupid

  5. C++各种类型数范围

    #include <iostream>
    #include <limits>
    using namespace std;
    
    int main()
    {
    	cout<<"int bytes: "<<sizeof(int)<<endl<<
    	"min: "<<(numeric_limits<int>::min)()<<
    	"   max: "<<(numeric_limits<int>::max)()<<endl<<endl;
    
    	cout<<"double bytes: "<<sizeof(double)<<endl<<
    	"min: "<<(numeric_limits<double>::min)()<<
    	"   max: "<<(numeric_limits<double>::max)()<<endl<<endl;
    
    	cout<<"long long bytes: "<<sizeof(long long)<<endl<<
    	"min: "<<(numeric_limits<long long>::min)()<<
    	"   max: "<<(numeric_limits<long long>::max)()<<endl<<endl;
    
    	cout<<"long double bytes: "<<sizeof(long double)<<endl<<
    	"min: "<<(numeric_limits<long double>::min)()<<
    	"   max: "<<(numeric_limits<long double>::max)()<<endl<<endl;
    
    	cout<<"bool size: "<<sizeof(bool)<<endl;
    	cout<<"char size: "<<sizeof(char)<<endl;
    	return 0;
    }
    
    据类型字节minmax
    int4-21474836482147483647
    double82.22507e-3081.79769e+308
    long long8-92233720368547758089223372036854775807
    long double123.3621e-49321.18973e+4932
    char1
    bool1
  6. 不要使用/<conio.h/>,不要使用getch()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值