信息学奥赛一本通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;
}
相关推荐
小欣加油11 小时前
leetcode1926 迷宫中离入口最近的出口
数据结构·c++·算法·leetcode·职场和发展
星恒随风11 小时前
C++ 类和对象入门(五):初始化列表、explicit 和 static 成员详解
开发语言·c++·笔记·学习·状态模式
浪客灿心12 小时前
项目篇:模块设计与实现
数据库·c++
牛油果子哥q12 小时前
【C++ STL vector】C++ STL vector 终极精讲:动态数组底层原理、两倍扩容机制、迭代器失效、增删查改、性能剖析与工程避坑指南
开发语言·c++
为何创造硅基生物14 小时前
独占指针的创建std::make_unique 本身自带堆出现
c++
kyle~14 小时前
ROS 2 与 Isaac Sim 联合仿真(一)体系架构、环境选型与基础通信闭环
c++·机器人·nvidia·仿真·ros2
努力努力再努力wz15 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
八解毒剂15 小时前
数据结构-平衡二叉树——对二叉搜索树的优化
数据结构·c++·算法
起床困难户57515 小时前
条款20:协助完成返回值优化
c++
啦啦啦啦啦zzzz16 小时前
算法总结(二分查找、双指针)
c++·算法