信息学奥赛一本通(c++版) 1003:对齐输出


【题目描述】

读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。

 

【输入】

只有一行,包含三个整数,整数之间以一个空格分开。

【输出】

只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。

【输入样例】

123456789 0 -1

【输出样例】

123456789       0      -1

最初我写的如下代码:
#include <iostream> 
#include <iomanip>
using namespace std;
int main(){ cout.setf(ios::right); //设置输出右对齐 int a,b,c; cin>>a>>b>>c; cout<<setw(8)<<a<<setw(8)<<b<<setw(8)<<c<<endl;//setw(8),使下一个输出按八字节对齐。 return 0; }

显示格式不对。因为题目需要输出之间需要空格,我不知道如何使用cout输出。

 

之后使用printf,就解决了:

#include <stdio.h>
int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%8d %8d %8d",a,b,c); return 0; }

 

总结:

  -> 使用g++编译器也可以正常编译执行如上c代码。

  -> 我还是不理解题目中要求的输出之间有空格是什么意思。

  -> c c++混用,能解出问题就行。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM