1.格式化输出
时、分、秒 不足两位时补前导 00。#include<bits/stdc++.h>
printf("%02d", num); %2d 它所表示占2个输出位置,数字靠右对齐,位数不足2个则在左边补空格
printf("%-02d", num);%-2d 它所表示占2个输出位置,数字靠左对齐,位数不足2个则在右边补空格
printf("%02d:%02d:%02d\n",hh,mm,ss);
printf("%f", num2); %f是以浮点数的方式进行输出。
double num=n*1.0/m;
printf("%.1lf",num);输出格式为一位小数
2.请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
#include <iomanip>
cout<<setiosflags(ios::fixed)<<setprecision(0)<<h/(n*0.01)<<"%"<<endl;
cout<<setiosflags(ios::fixed)<<setprecision(0)<<y/(n*0.01)<<"%";
每个数字需要 33 个场宽。以 C++ 为例,你可以使用下列代码:
cout << setw(3) << x;
输出占 33 个场宽的数 xx。注意你需要头文件 iomanip。
3.int的范围:在32位和64位机器中,int占32位,取值范围为-2147483648~2147483647(
)
数字的拼接
使用 to_string
和 stoll
函数,这样我们只需要把数字转换成字符串,再将字符串转换成 long long
类型即可,具体代码如下:
inline long long connect(long long a, long long b){
return stoll(to_string(a) + to_string(b));
}
c++优先队列(priority_queue)
升序队列 priority_queue <int,vector<int>,greater<int> > q;就是小根堆。
和队列基本操作相同:
- top 访问队头元素
- empty 队列是否为空
- size 返回队列内元素个数
- push 插入元素到队尾 (并排序)
- emplace 原地构造一个元素并插入队列
- pop 弹出队头元素
- swap 交换内容