ACM中常用的輸入輸出方式

2022-09-17 04:30:14 字數 2051 閱讀 7673

不論是在acm/icpc這樣型別的比賽中,還是在做專案中,對於輸入輸出的格式尤為重要,不可以想當然的按自己那一套走,我們需要根據題目要求進行操作,對於第一次接觸這方面比賽的小白,最為常見的現象便是類似於下面這行**

1 printf(「請輸入一組資料:」); 

2 cout<

倘若題目沒有要求你,千萬不要有多餘的輸出,雖然在測試的時候方便自己,但也麻煩在提交執行時注釋掉,因為電腦可沒有你的大腦那樣靈活,他要對比的資料很死板,多乙個空格少乙個空格都不行,所以,在這一塊的處理一定要細心!細心!再細心!下面我們來看下常見的輸入輸出格式有哪些

1、單組輸入輸出

已知題目有兩個變數a和b,現在就要輸入a和b,操作如下

1 //c

2 scanf("%d %d",&a,&b); printf("%d %d\n",a,b);

3 //c++

4 cin>>a>>b; cout這個很簡單,那麼如果題目輸入n組a和b怎麼辦呢

2、n組輸入輸出

1 //c

2 scanf("%d",&n);

3 while(n--)

4 //c++

5 cin>>n;

6 while(n--)//第一種寫法

3 while(scanf("%d %d",&a,&b)==2)//第二種寫法

4 while(~scanf("%d %d",&a,&b))//第三種寫法

5 //c++

6 while(cin>>a>>b)

9 }10 while(scanf("%d",&n)==1)//第二種寫法

11 17 }

18 while(~scanf("%d",&n))//第三種寫法

19 25 }

26 //c++

27 while(cin>>n)

28 //跳過空格

8 fg=1;//表示fg中已經存放了數字

9 a=10*a+c-'0';//將字元轉為整型變數

10 }

11 12 //getline()版本

13 int fg=0;//用於判斷a中是否存放了數字

14 int a=0;//每個資料讀入a中

15 string ss;

16 while(getline(cin,ss))

17 //跳過空格

22 else if(ss[cn)!=' ')

26 cn++;

27 }

28 }

29 30 //利用流的操作版本

31 string ss,st;

32 while(getline(cin,str))

是不是有點燒腦了,如果要處理稍微複雜的輸入,則至少需要掌握這方面的一種方法,尤其在碰到整行讀入時可以利用getline(),將每行讀入到字串中,再對字串進行相關操作,當然方法不止以上三種,像cin.getline()等都可以進行相關操作

2、檔案流的操作

(1)重定向(必須掌握)

1 freopen("1.txt","r",stdin);
掌握了它,在本地測試時可以提前將資料存放在同目錄下的 1.txt(檔名要於freopen()中的檔名一致) 檔案中,然後在本地執行時,它將自動讀入資料。記得今年藍橋杯省賽時,有一組資料非常多(有的題目的資料無法拷貝),如果不知道重定向,那麼每次本地執行測試時,都要手動輸入,將會浪費很多時間。

(2)檔案流的操作(有的題目會有這方面要求)

1 //c++語法

2 ifstream fin("in.txt");

3 ofstream fout("out.txt");

4 int a,b;

5 while(fin>>a>>b) fout<

1、每個資料間以空格相隔,行末不得有多餘的空格

//c++

if(first) first=0;//first判斷是否時每行第乙個元素

else cout<

cout<

輸入輸出系統1 特性 輸出輸出方式

io系統相對於處理機是非同步工作的 外設通常只要開始和結束時需要處理機干預 解決方法 自治控制 即將處理機和外設功能剝離 對於不同外設需要完成的功能不同,處理機需要對不同速度,不同傳輸方式 乙個字元,多個字元 的外設進行多種相應。如果錯過服務時間,則可能丟失資料 因此需要多種方式響應。解決方法 將裝...

c語言 基本輸入輸出方式

題目是很簡單的 a b 的和 1.一組輸入一組輸出 include intmain 2.多組輸入多組輸出 include intmain return0 3.指定資料量 有時會在資料的第一行要求提供資料量大小,要求輸入n,則表示有n組資料。include intmain return0 4.以特定元...

2 10黑盒測試 常見輸入輸出方式

單點測試 一組通過就有分數,最後看分數之和。多點測試 全部資料通過才算通過。1.常用的輸入方式 1 while.eof型 如果題目沒有給定輸入的結束條件,那麼就預設讀取到檔案末尾。對黑盒測試來說,所有輸入資料都是放在乙個檔案裡的,系統會讓程式去讀取這個檔案裡的輸入資料,然後執行 程式並輸出結果。那麼...