演算法競賽中的常用輸入輸出總結
輸入部分
數字
1.整數
#include <cstdio>
#include <iostream>
int a;
scanf("%d", &a);
long long b;
scanf("%lld", &b);
std :: cin >> a >> b;
2.浮點數
#include <cstdio>
#include <iostream>
float a;
scanf("%f", &a);
double b;
scanf("%lf", &b);
std :: cin >> a >> b;
3.使用scanf讀入數字時,只有“域寬”附加格式說明。
4.大量輸入時應使用scanf。
字元
#include <cstdio>
#include <iostream>
char c;
scanf("%c", &c);
c = getchar();
c = getc(stdin);
std :: cin >> c;
坑點:不同的作業系統的回車換行符是不一致的。
字串
若先讀入了數字(如測試組數),應緊getchar()來讀取換行符以避免出現無法理解的結果
#include <cstdio>
#include <iostream>
char str[100];
scanf("%s", str);//讀到非空白字元後,若再次遇到空白字元,結束字串的輸入;
但要注意,終止讀入時遇到的空格或回車還留在緩衝區
//接上
gets(str);//有bug,沒有指明讀取的最大字元數;讀取換行符後終止,並將換行符換為'\0';
fgets(str, 10, stdin);//讀入9個字元,str[9]為'\0';
//能讀取換行符,但不會自動替換為'\0';
//若實際輸入小於等於10(包括回車符),則應str[strlen(str)-1] = '\0'
string類
#include <iostream>
#include <string>
string s;
std :: cin >> s;
輸入框架
未明確測試數
while(scanf("...", ...) == ...)
明確測試數
while(T--)
輸出部分
數字
C中格式字串的一般形式為: %[標誌][輸出最小寬度][.精度][長度]型別,其中方括號[]中的項為可選項。
長度:長度格式符為h,l兩種,h表示按短整型量輸出,l表示按長整型量輸出。
標誌格式字元 | 標誌意義 |
---|---|
- | 結果左對齊,右邊填空格 |
+ | 輸出符號(正號或負號) |
空格 | 輸出值為正時冠以空格,為負時冠以負號 |
# | 對c,s,d,u類無影響;對o類,在輸出時加字首0;對x類,在輸出時加字首0x或者0X;對g,G 類防止尾隨0被刪除;對於所有的浮點形式,#保證了即使不跟任何數字,也列印一個小數點字元0 |
0 | 對於所有的數字格式,用前導0填充欄位寬度,若出現-標誌或者指定了精度(對於整數),忽略 |
float 和double輸出:
#include <cstdio>
float a = 1.0;
double b = 1.0;
printf("%f\n", a);
printf("%f\n", b);
取整:
函式 | 功能 |
---|---|
ceil | 向上取整 |
floor | 向下取整 |
round | 四捨五入 |
必須確保取整引數是double型相除而不是int型
四捨五入保留兩位小數輸出n:printf("%.2f\n", n);
直接擷取保留兩位小數輸出n:printf("%.2f\n", n > 0 ? n - 0.005 : n + 0.005);
空格和換行
注意結尾是否有空格、空行;不同組的樣例對應的輸出之間是否有空格行,空了幾行。
相關文章
- Java中的輸入輸出總結Java
- 常用輸入輸出函式函式
- 輸出輸入函式彙總函式
- linux中的輸入與輸出管理(重定向輸入,輸出,管道符)Linux
- C++中的檔案輸入/輸出(3):掌握輸入/輸出流 (轉)C++
- 重學java中的輸入輸出流Java
- 輸入輸出
- C++中的檔案輸入/輸出(4):檢測輸入/輸出的狀態標誌 (轉)C++
- 詳解Java中的IO輸入輸出流!Java
- java中基本輸入輸出流的解釋Java
- C++輸入輸出常用格式(cin,cout,stringstream)C++
- 輸入輸出流
- 資料的輸入輸出
- Python的輸入輸出Python
- 【C++】輸入輸出C++
- Java 輸入輸出流Java
- 輸入輸出系統
- JAVA輸入輸出流Java
- 常用的Unity輸入方法Unity
- Java------簡單的輸入/輸出Java
- ACM的Python版輸入輸出ACMPython
- Java —— 標準輸入輸出Java
- 排序,檔案輸入輸出排序
- 03 資料輸入-輸出
- Python 輸入和輸出Python
- 檔案操作-輸入輸出
- C語言輸入輸出C語言
- Java基礎輸入輸出Java
- C語言之輸入輸出C語言
- C中的基本輸入輸出函式(Android之JNI)函式Android
- c++入門:輸入輸出流C++
- python:檔案的輸入與輸出Python
- Python資料的輸入與輸出Python
- 直播app原始碼,Java的輸入輸出APP原始碼Java
- 用javascript完成pos機的輸入輸出JavaScript
- 接管子程式的標準輸入輸出
- Linux下的輸入/輸出重定向Linux
- Ubuntu下鍵盤輸入錯亂問題,輸入雙引號輸出的是@符號,輸入#號輸出的是未知語言的字元...Ubuntu符號字元