【题目描述】
读入三个整数,按每个整数占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++混用,能解出问题就行。