信息學奧賽一本通(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