【算法题】语法基础知识备忘

数据范围(待加):

ACM算法比赛常用宏定义、声明定义及其说明

能开long long用long long,能用double用double

整型数据浮点化: 9*(x-32)/5.0

const int N=5;

int barrier[N][N] = {0}; 将数组置零

string s;

cin>>s; 遇空格、tab、回车结束输入。

cin.getline(s); 可接收空格。

auto x=5;  自动根据后面所赋的值的类型给变量声明相应类型

部分库函数:

乘方:double pow(double base, double exponent) 

开方:double sqrt(double x)

pow(a,1.0/x)=a^(1.0/x)  就是a开x次方 

输入输出:

格式化输入:

scanf("%d%d",&m,&n);  遇空格或换行完成第一个参数的输入

scanf("%d,%d",&m,&n);  逗号作为间隔符

 

puts(""); 输出换行符 C 库函数 – puts() | 菜鸟教程 (runoob.com)

typedef long long ll;    scanf("%lld",&n);  printf("%lld",ans); 但这种输入输出在某些IDE中会报错,建议直接使用:

输入:scanf("%I64d",&n);  注意是大写字母I(艾,INT的I)

输出:printf("%I64d",ans); 注意是大写字母I(艾,INT的I)

格式化输出:

%m.nlf  双精度浮点型输出,字符宽度m,小数点后保留n位。输出位数大于m时按原数据输出。位数不足时前面补空格

%-   输出位数不足时后面补空格(左对齐)

%0  输出位数不足时前面补零

printf("%d%%%d=%d",x,y,x%y);  %要用“%%”才能正常输出

 

map:

map的循环:

C++遍历map方法_c++ 遍历map_dexfire29的博客-CSDN博客

//c++98
map<string, int>::iterator it;
    for (it = m2.begin(); it != m2.end(); it++) {
        string s = it->first;
        printf("%s %d\n", s.data(), it->second);
    }

//c++11以后
for(auto it : map1){
	cout << it.first <<" "<< it.second <<endl;
}

it->first为键名 it->second为键值

 

基本操作:

求逆序数:

//求逆序数(不含前导0)
int x,reve = 0;
cin>>x;
while(x){
    reve = reve * 10 + x % 10;
    x /= 10;
}
cout<<reve<<endl;

 

posted @ 2023-04-20 22:11  infocodez  阅读(11)  评论(0编辑  收藏  举报