信息学奥赛一本通1003:对齐输出
2023-12-13 04:05:51
1003:对齐输出
时间限制: 1000 ms ??? ??? 内存限制: 66536 KB
提交数: 320051 ??? 通过数: 106753
【题目描述】
读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。
【输入】
只有一行,包含三个整数,整数之间以一个空格分开。
【输出】
只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。
【输入样例】
123456789 0 -1
【输出样例】
123456789 0 -1
思路:
我们先来捋一捋题目,什么叫每个整数占8个字符的宽度呢?
比如说,我有一个数字5,为了每个整数占8个字符的宽度,我就要输出
5[空格][空格][空格][空格][空格][空格][空格](5后面7个空格)
如果是7个字符,就是这样:
5[空格][空格][空格][空格][空格][空格](5后面6个空格)
如果数字是100,就是这样:
100[空格][空格][空格][空格](100后面4个空格)
正常来说,我们是不能这样对齐的,但是,只要用那个函数就可以了……
没错,他就是setw
让我来讲解一下,他是怎么用的:
如果我想要每个整数占8个字符的宽度,那我要这样写:
cout<<setw(8)<<a;
这里注意了,如果你要输出多个整数占8个字符的宽度,那你就不能只写一个setw
cout<<setw(8)<<a<<' '<<setw(8)<<b<<' '<<setw(8)<<c;
如果你要输出多个整数,就要这样写,一个setw只能让一个数字占8个字符,如果你要让五个数字占8个字符,你就要写五个setw
代码:
知道了setw,你应该就知道代码怎么写了吧?
#include <bits/stdc++.h>
using namespace std;
int main(){
int a, b, c;
cin>>a>>b>>c;
cout<<setw(8)<<a<<' '<<setw(8)<<b<<' '<<setw(8)<<c;
return 0;
}
文章来源:https://blog.csdn.net/ptyz306/article/details/134886438
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!