王晏林 • 1个月前
#include<bits/stdc++.h>
using namespace std;
int main()
{
char s[27]={};
int sum[1001]={},max=0;
cin>>s;
int i=0;
for(char c='a';c<='z';c++){
if(max==sum[c]){
cout<<c<<' '<<max<<endl;
break;
}
}
return 0;
}
评论:
<iomanip> 是 C++ 的输入输出流控制头文件,专门用来格式化输出。你可以把它理解为一种更现代、类型安全的“printf格式控制”方式。
常用控制符和效果如下:
· setw(n):设置字段宽度为 n,默认为右对齐。通常与setfill配合使用。
· setfill(c):宽度不足时,用字符 c 填充空白。
· setprecision(n):设置精度。与fixed连用时表示小数位数;单独使用表示有效数字位数。
· fixed / scientific:强制使用小数或科学计数法显示。
· setbase(n) / dec/hex/oct:设置整数进制为 n (8,10,16) 或直接指定十进制/十六进制/八进制。
· left / right:设置左对齐或右对齐。
· setiosflags(flag):手动设置格式标志,如上文中的ios::fixed等。
· quoted() (C++14):处理含空格的字符串,自动添加或去除引号。
组合使用示例
通过<<拼接控制符,你可以像拼乐高一样组合出复杂的格式。看看下面的例子和对应的输出:
```cpp
#include <iostream>
#include <iomanip> // 必须包含此头文件
using namespace std;
int main() {
double pi = 3.1415926535;
int num = 255;
// 1. 控制宽度和填充
cout << "--- 宽度与填充 ---" << endl;
cout << setfill('*') << setw(10) << num << endl;
// 输出:*******255
// 2. 控制浮点数精度 (固定小数位)
cout << "--- 固定小数位 ---" << endl;
cout << fixed << setprecision(2) << pi << endl;
// 输出:3.14
// 3. 控制进制 (搭配大写)
cout << "--- 十六进制 ---" << endl;
cout << uppercase << hex << num << endl;
// 输出:FF
// 4. 对齐
cout << "--- 对齐方式 ---" << endl;
cout << left << setw(10) << "C++" << "Rocks" << endl;
// 输出:C++ Rocks
// 5. 处理带空格的字符串 (C++14)
cout << "--- 引用处理 ---" << endl;
cout << quoted("Hello World") << endl;
// 输出:"Hello World"
return 0;
}
```