信息学奥赛一本通1003:对齐输出

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个字符的宽度,那我要这样写:

cpp 复制代码
cout<<setw(8)<<a;

这里注意了,如果你要输出多个整数占8个字符的宽度,那你就不能只写一个setw

cpp 复制代码
cout<<setw(8)<<a<<' '<<setw(8)<<b<<' '<<setw(8)<<c;

如果你要输出多个整数,就要这样写,一个setw只能让一个数字占8个字符,如果你要让五个数字占8个字符,你就要写五个setw


代码:

知道了setw,你应该就知道代码怎么写了吧?

cpp 复制代码
#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;
}
相关推荐
逝雪Yuki1 小时前
数据结构与算法——字典(前缀)树的实现
数据结构·c++·字典树·前缀树·左程云
卷卷的小趴菜学编程1 小时前
Qt-----初识
开发语言·c++·qt·sdk·qt介绍
程序员编程指南2 小时前
Qt 开发 IDE 插件开发指南
c语言·c++·ide·qt·elasticsearch
利刃大大3 小时前
【在线五子棋对战】十一、整合封装服务器模块实现
运维·服务器·c++·项目·五子棋
ok0603 小时前
C++对象访问有访问权限是不是在ide里有效
开发语言·c++·ide
程序员编程指南3 小时前
Qt 开发自动化测试框架搭建
c语言·开发语言·c++·qt
三小尛4 小时前
C++赋值运算符重载
开发语言·c++
小徐不徐说4 小时前
C++ 模板与 STL 基础入门:从泛型编程到实战工具集
开发语言·数据结构·c++·qt·面试
艾莉丝努力练剑4 小时前
【C/C++】类和对象(上):(一)类和结构体,命名规范——两大规范,新的作用域——类域
java·c语言·开发语言·c++·学习·算法
weixin_307779136 小时前
设计Mock CUDA库的流程与实现
c++·算法·gpu算力