日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ 读入优化与输出优化 模板

發布時間:2025/3/15 c/c++ 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 读入优化与输出优化 模板 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

  • C++ 是一種神奇的編程語言……

  • 自然,讀入和輸出也有著許多種形式:

  • 如:scanf()cin>>cout<<printf()

  • 但是我們奉行——效率第一!!!

  • 那么如何提高讀入和輸出的效率呢?

用法

1. 讀入優化

  • C++中有一個函數:getchar() ,用于讀入字符,那么這跟讀入整數有什么關系呢?

  • 其實,經過類似高精度的處理,就可以實現類型轉換啦!

  • 下面是正負數讀入優化模板:

#include<cctype> inline int read() {int X=0,w=0; char ch=0;while(!isdigit(ch)) {w|=ch=='-';ch=getchar();}while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();return w?-X:X; }
  • isdigit(x) 表示 x 是否是 0 ~ 9 的整數 ,是則返回 true ,不是則是 false

  • 注意要用 cctype 頭文件。

  • 像這樣“XXX=read()”使用函數即可,效率超高!

  • 這里補充一個正負實數的讀入優化:

inline double dbread() {double X=0,Y=1.0; int w=0; char ch=0;while(!isdigit(ch)) {w|=ch=='-';ch=getchar();}while(isdigit(ch)) X=X*10+(ch^48),ch=getchar();ch=getchar();//讀入小數點while(isdigit(ch)) X+=(Y/=10)*(ch^48),ch=getchar();return w?-X:X; }

2. 輸出優化

  • 在個別繁雜題目中,也可以使用輸出優化!

  • 與讀入優化類似,使用用來輸出字符的“putchar()”函數,也可到目的

  • 下面是正負數輸出優化模板:

inline void write(int x) {if(x<0) putchar('-'),x=-x;if(x>9) write(x/10);putchar(x%10+'0'); }
  • 同樣時間減減!

總結

  • 使用讀入優化與輸出優化,可以在一些題目中贏得很多時間,甚至逆轉AC!

  • 而且代碼很短,性價比很高,完全可以經常使用!

注意

  • 切記在使用時,應注意數據類型大小和正負!

總結

以上是生活随笔為你收集整理的C++ 读入优化与输出优化 模板的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。