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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ACM新手之八大输入输出格式

發(fā)布時間:2025/6/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ACM新手之八大输入输出格式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在ACM題庫中,不管是文件輸出(輸入)還是標準輸出(輸入),都有著一定的格式,下面我就以杭電1089——1096為例子,簡單的介紹一下。 第一種:A+B for Input-Output Practice (I)?

【輸入】有多組輸入數(shù)據(jù),但沒有具體的告訴你有多少組,只是讓你對應每組輸入,應該怎樣輸出。

【輸出】有多組輸出,對應著每組輸入,每組輸出占一行。

【代碼】對于上述常見的情況,我們可以用下面的代碼來解決。

沒有告訴我們有多少組,我們只需要等待即可:

  • while (scanf (“%d”,&n) != EOF)
  • 【完整代碼?】

  • #include
  • int main()
  • {
  • int m,n;
  • while(scanf("%d%d",&m,&n)!=EOF)
  • {
  • m+=n;
  • printf("%d\n",m);
  • }
  • return 0;
  • }
  • 相對應輸入,輸出只需要在while中輸出。

    第二種:A+B for Input-Output Practice (II)?

    【輸入】先輸入一個整數(shù),告訴我們接下來有多少組數(shù)據(jù),然后在輸入每組數(shù)據(jù)的具體值。

    【輸出】有多組輸出,對應著每組輸入,每組輸出占一行。

    【代碼】這也是一種常見的輸入形式,簡單的代碼,我們可以先用scanf函數(shù)輸入第一個整數(shù)來確定有多少行,然后在用for循環(huán)一組一組的輸入。

    【完整代碼】

  • #include
  • int main()
  • {
  • int n,x,y,i;
  • scanf("%d",&n);
  • for(i=1;i<=n;i++)
  • {
  • scanf("%d%d",&x,&y);
  • x+=y;
  • printf("%d\n",x);
  • }
  • return 0;
  • }
  • 第三種:A+B for Input-Output Practice (III)???

    【輸入】有多組輸入數(shù)據(jù),沒有具體的告訴你有多少組,但是題目卻告訴你遇見什么結束。

    【輸出】有多組輸出,沒對應一組輸入都有相應的輸出,結束標記不用管!

    【代碼】這種類型的題目和第一種差不多,但是有一點值得注意,就是要加上結束條件。對于這道題我們可以這樣

  • while(scanf(“%d%d”, &a, &b) && (!(a==0 && b==0)))
  • 當然你也可以將條件寫在while循環(huán)的內(nèi)部,條件滿足時break即可。

    【完整代碼】

  • #include
  • int main() {
  • int a,b;
  • while(scanf("%d%d",&a,&b)&&(!(a==0&&b==0))){
  • printf("%d\n",a+b);
  • }
  • return 0;
  • }
  • 第四種:A+B for Input-Output Practice (IV)

    【輸入】輸入有多組,并且題目告訴你每組輸入遇見什么結束,與第三種不同之處在于,每組輸入都有相應的細化。

    【輸出】沒有什么變化,只需要對應輸出即可。

    【代碼】這類題目的代碼是在第三種代碼的基礎之上,對于每種輸入都進行第二種的精確輸入。代碼二者結合即可!

    【完整代碼】

  • #include
  • int main()
  • {
  • int n,i,s,m;
  • while(scanf("%d",&n)!=EOF&&n!=0)
  • {
  • s=0;
  • for(i=1;i<=n;i++)
  • {
  • scanf("%d",&m);
  • s+=m;
  • }
  • printf("%d\n",s);
  • }
  • return 0;
  • }
  • 第五種:A+B for Input-Output Practice (V)

    【輸入】這次的輸入實現(xiàn)輸入一個整數(shù),告訴我們有多少行,在輸入每一行。對于每一行的輸入,有劃分為第一個數(shù)和其他的數(shù),第一個數(shù)代表那一組數(shù)據(jù)一共有多少輸入。

    【輸出】沒有變化,只需按照提議即可!

    【代碼】代碼沒有什么,只是在第二種代碼的框架上,在進行第二種輸入的細化,對于每組輸入都運行第二種的代碼框架!

    【完整代碼】

  • #include
  • int main()
  • {
  • int m,n,i,x,s,j;
  • scanf("%d",&n);
  • for(i=1;i<=n;i++)
  • {
  • s=0;
  • scanf("%d",&m);
  • for(j=1;j<=m;j++)
  • {
  • scanf("%d",&x);
  • s+=x;
  • }
  • printf("%d\n",s);
  • }
  • ?
  • return 0;
  • }
  • 第六種:A+B for Input-Output Practice (VI)?

    【輸入】有多種輸入數(shù)據(jù),對于每組輸入數(shù)據(jù)的第一個數(shù)代表該組數(shù)據(jù)接下來要輸入數(shù)據(jù)量。 【輸出】同上!

    【代碼】這種類型的代碼,就是再套上第一種代碼的框架上,進行第三種代碼的細化,沒有什么特殊性。

    【完整代碼】

  • #include
  • int main()
  • {
  • int n,i,x,s;
  • while(scanf("%d",&n)!=EOF)
  • {
  • s=0;
  • for(i=1;i<=n;i++)
  • {
  • scanf("%d",&x);
  • s+=x;
  • }
  • printf("%d\n",s);
  • }
  • return 0;
  • }
  • ?
  • 第七種:A+B for Input-Output Practice (VII)

    【輸入】同第一種一樣

    【輸出】這道題的輸出只是簡單的在每組輸出后邊多加一個換行而已!

    【代碼】在每組輸出的后邊多加一個換行符’\n’

    【完整代碼】

  • #include
  • main()
  • {
  • int a,b;
  • while(scanf("%d%d",&a,&b)!=EOF)
  • {
  • printf("%d\n\n",a+b);
  • }
  • }
  • ?
  • 第八種:A+B for Input-Output Practice (VIII)

    【輸入】類似于第三種

    【輸出】這種類型的輸出注意的就是換行,這類題目說在輸出樣例中,每組樣例之間有什么什么,所以我們在對應輸出的同時要判斷一下是否是最后一組輸出,如果不是,就 將題目所說的東西輸出(一般是換行或空格),如果是,就直接結束。

    【代碼】沒有什么說的,你在判斷是否結束不方便的時候可以判斷是否開始,類似于判斷結束的代碼。如用for輸入,一般判斷結束,如用while輸入一般判斷初始。

    【完整代碼】

  • #include
  • int main()
  • {
  • int a,b,c,d,e;
  • while(scanf("%d",&a)!=EOF)
  • {
  • while(a--)
  • {
  • scanf("%d",&c);
  • d=0;
  • while(c--)
  • {
  • scanf("%d",&e);
  • d=d+e;
  • }
  • if(a!=0)
  • printf("%d\n\n",d);
  • else printf("%d\n",d);
  • }
  • }
  • return 0;
  • ?
  • 【綜上所述】

    根據(jù)上邊介紹的八種輸入輸出,我們可以歸納出如下內(nèi)容:

    對于輸入,如果沒有告訴你有多少組,我們常用while。如果告訴你有多少組,我們用for。

    對于輸出,輸入用while,我們常常判斷是否為第一個輸出樣例,來指定特殊的輸出格式。輸入用for,我們常常判斷是否為最后的輸出樣例,來指定特殊的輸出格式。

    當然輸入輸出的格式遠遠不止上邊的八種,但它們卻是最常見的,特別是前三種是一定要掌握的。

    ?

    總結

    以上是生活随笔為你收集整理的ACM新手之八大输入输出格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。