scanf與printf的強大

2021-10-17 03:55:37 字數 768 閱讀 4359

習慣了用c++,常常會忽略了scanf和printf在某些題的巧妙或是便捷之處。

1. scanf

很多題目要求的輸入,一般是整數、字串或陣列,一般用cin就可以;但當我們輸入乙個字串,有時我們可以根據題目要求,將字串既輸入數字又輸如字元甚至其他固定符號比如正負號小數點時,我們可以用scanf輸入。

例如pat中科學計數法那題,輸入乙個科學計數法的數字,裡面既有小數點又有數字,甚至還有e,如果用string,還得將字元轉換成數字,但如果用scanf就十分簡單,所有的輸入可以全看作字元,不用考慮轉換成數字的問題

+

1.23400e-03

scanf

("%c%c.%[0-9]e%c%d"

,&h,

&a[0

],a+1,

&e);

非常絕,把乙個字串同時輸入了符號、小數點、陣列、指數,根據各部分特點進行輸入判斷,非常方便。

% 的意思是:讀入此集合所限定的那些字元。

例如 %[a-z] 是指接受大寫字母,一旦遇到非大寫字母便停止接受

%[^]是指不要讀入此集合所限定的那些字元。

例如 % [^a-z] 是指不接受大寫字母,一旦遇到大寫字母便停止接受。

2. printf

當輸出固定幾位數時,用printf

特別是有些0999這種,題目要求固定4位輸出

scanf與printf的格式

scanf的格式 1.scanf 輸入控制符 輸入引數 2.scanf 輸入控制符非輸入控制符 輸入引數 scanf的功能 將從鍵盤輸入的字元轉化為 輸入控制符 所規定格式的資料,然後存入以輸入引數的值為位址的變數中。scanf d i 其中 是乙個取位址運算子,後面加變數名表示 該變數的位址 所以...

scanf與printf的格式

一.scanf 1.該函式可以獲取任意資料型別的輸入,但是必須指定輸入格式 2.該函式可以連續讀入 3.按格式輸入 輸入值以 逗號分隔 scanf d,d num1,num2 輸入值以 冒號分隔 scanf d d num1,num2 輸入值以 斜槓分隔 scanf d d num1,num2 二....

scanf與printf使用詳解

scanf 格式控制 變數位址 如 scanf d n 其中n為變數,在定義完成乙個變數後,系統會為該變數分配記憶體空間 該空間在記憶體中的位址稱為變數的位址。為了得到變數的位址可以使用取位址操作 scanf的格式符如下 資料型別 格式符int dlong long lld double lfflo...