c:
小數的四捨五入問題
小數用 %.xf 輸出的話 是會自動四捨五入的
比如說
double e = 2.718, c = 3.141;
printf("%.2lf\n", e);
printf("%.2lf\n", c);
printf("%.2lf\n", (int)(e * 100) / 100.0);
printf("%.2lf\n", (int)(c * 100) / 100.0);
執行結果
也就是說 如果要求 不要讓它進製 像整數除法一樣,那麼就要類似於那樣的操作
如果要保留任意 從鍵盤輸入的n位小數輸出乙個數字 那怎麼辦呢
printf("%.*lf\n",c,d); // c 表示保留的小數字數,它替代的是*的位置
對齊問題:
printf("%-5d\n%5d", a, b); //左對齊 無負號 右對齊
填充問題
printf("%05d\n", a); // 如果輸出的位數不夠五位 自動用0補齊 或者還可以用空格補齊 好像不能填充其他符號吧,,c語言
讀入問題
scanf("%1d", &a);// 這樣就會唯讀進來一位數字
讀入字元問題
printf(" %c", &c); // 這樣就可以防止讀入空格 因為%c 前面的空格可以吸收空格和空行 就不用再打 getchar()
按格式讀入問題
比如說有的題目的input 要求是 (a, b)
但實際上 我們只需要 讀入a 和 b 就可以了
scanf("(%d,%d)", &a, &b);// 只要按照它的格式 來就可以了 就像前面的空格可以吸收空格和空行一樣
c++保留小數問題
double e = 2.718, c = 3.141;
cout
<< fixed; // 表示按照小數形式輸出小數 預設是按照科學計數法輸出小數
cout.precision(2); // 表示輸出的小數保留幾位
cout
<< e << " "
<< c << endl;
如果要按格式輸出 比如左對齊 右對齊
double e = 2.718, c = 3.141;
cout
<< setw (20); // 寬度
cout
<< left << e << endl; // 左對齊
cout
<< right << e << endl; // 右對齊
填充問題
double e = 2.718, c = 3.141;
cout.fill('*'); // 填充'*' 實際上 ' ' 裡面是隨便填的 不像 c 裡面 只能填充0 和 空字元
cout
<< left << setw(20) << e << endl; // 表明 左對齊 寬度20
cout
<< right << setw(20) << e << endl; // 表明 右對齊 寬度20
c c 輸入輸出技巧
c 小數的四捨五入問題 小數用 xf 輸出的話 是會自動四捨五入的 比如說double e 2.718,c 3.141 printf 2lf n e printf 2lf n c printf 2lf n int e 100 100.0 printf 2lf n int c 100 100.0 執行...
C C 輸入 輸出
在c語言中,我們的輸入輸出靠的是標準庫函式,最常用的就是 scanf 和 printf 這一對了。那麼c 又是怎麼樣實現輸入輸出的呢?下面來寫c 的第乙個程式!include using namespace std int main 不難看出,它有以下特徵 1.使用cout標準輸出 控制台 和cin...
C C 輸入輸出
符號 描述 h0 short型的八進位制 0int型的八進位制 l0long型的八進位制 hdshort型的十進位制 dint型的十進位制 ldlong型的十進位制 hx,hx short型的十六進製制,x表示小寫,x表示大寫 x,x int型的十六進製制,x表示小寫,x表示大寫 lx,lx lon...