ASK HDM第一期,文字版,一些萌新常見問題的回答。 1.怎么把變量算出來(的結(jié)果)小數(shù)部分和整數(shù)部分分開? 利用強制類型轉(zhuǎn)換。設變量為a, (int)a強制將浮點數(shù)a轉(zhuǎn)為整型數(shù),在轉(zhuǎn)換過程中直接將小數(shù)部分丟棄,這樣就得到了整數(shù)部分,再使用a-(int)a,記得分離出小數(shù)部分。 2.那怎么進行四舍五入? (int)(a+0.5) 如果a小數(shù)部分小于0.5,那么即使加上0.5,整數(shù)部分也不會發(fā)生改變;而如果a小數(shù)部分大于等于0.5,那么加上0.5,整數(shù)部分會加1。再配合強制類型轉(zhuǎn)換,即可得到四舍五入的效果。 3.如何在printf輸出中顯示百分號%? 因為%用來作為占位符的標記,所以單獨一個'%'是不能輸出的,需要使用'%%'來完成輸出。 4.說說scanf和printf的使用格式唄? 單個整數(shù)讀入:scanf('%d',&a); 要點:%d表示需要讀入一個整數(shù),%lf表示浮點數(shù),%c表示字符,%s表示字符數(shù)組,%lld表示long long 長整型的數(shù)據(jù)。 &符號不要忘記,這是取地址符,具體后續(xù)再解釋。 兩個浮點數(shù)讀入:scanf('%lf%lf',&a,&b); 要點:兩個占位符之間如果沒有間隔,在輸入數(shù)據(jù)時默認使用空格作為分隔,占位符和后面的變量是按次序一一對應的,有幾個變量,就要使用幾個占位符。 字符串的讀入:scanf('%s',a); 要點:注意a之前沒有'&',目前,我們只需要記住,除了這種特殊情況之外,都是要加'&'符號的。 單個整數(shù)的輸出:printf('%d',a); 要點:注意占位符和變量類型的匹配,變量前無需使用取地址符& 控制浮點數(shù)小數(shù)位數(shù)輸出:printf('%.2lf',a); 要點:需要x位小數(shù),就寫'%.xlf',注意是字母l,而不是數(shù)字1 5.這是怎么回事? 兩個錯誤。 一是return 0之后缺少分號,這是初學者很容易犯的錯誤。 二是%.2lf中的字母l寫錯了。 |
|