-1

私はこの入力ファイルを持っています」 1&agent=website&csrfmiddlewaretoken=OWMxNTVmMTUyODBiYjhhN2Q2OTM3ZGJiMTNhNDkwMDF8fDEzNzIxNzI1NTE3ODAzMjA%3D " このファイルを読み込もうとしました :-using freopen("filename.txt",r,stdin); そして、出力を別のテキスト ファイルに書き込んで、裁判官向けのこの codejam 練習問題にアップロードできるようにしたいと考えました。

#include<iostream>
   #include<cstdio>
   using namespace std;
   int main()
   {
     int t,k=0,a[2000];
     freopen("ab.txt","r",stdin);

     scanf("%d",&t);

     while(t--)
     {
         freopen("cb.txt","w",stdout);

         int c;

         scanf("%d",&c);
         int n;
         scanf("%d",&n);
         for(int i=0;i<n;i++)
         scanf("%d",&a[i]);

         printf("Case #%d: ",++k);
         for(int i=0;i<n-1;i++)
         {for(int j=i+1;j<n;j++)
          if((a[i]+a[j])==c)
           {printf("%d %d\n",i+1,j+1);
             i=n;}
           }

     }
     return 0;
    }

これは私のコードです。問題は、出力ファイル cb.txt に入力の最後の行しか含まれていないことです。出力全体を cb.txt に書き出したいのですが、どうすればよいでしょうか。

4

2 に答える 2

0

freopen("cb.txt","w",stdout); を入れていました。ループ内で出力が毎回上書きされていたので、この行をループの外に置くと機能します

于 2013-06-25T16:18:59.760 に答える