回 帖 发 新 帖 刷新版面

主题:竞赛c语言文件操作

各位大侠可以给一段noip复赛c语言的文件操作的程序么?
假设输入的123.in,输出是123.out
怎么进行文件的读写呢?

回复列表 (共9个回复)

沙发

比如说:
就拿 NOIP2004 普及组“不高兴的XX”(经典题)打比方
题目请参考其他网站,此处不述。

#include <stdio.h>
#include <string.h>

int main(void)
{
  int i, _max = -1, _maxindex, a, b;

  FILE *inf, *outf;
  inf = fopen ("in", "r");
  outf = fopen ("out", "w");
  // 如果有必要可以检查一下是不是 NULL, 但一般不会.

  for (i = 0; i < n; i++) {
    fscanf (inf, "%d %d", &a, &b);
    if ((a + b > 8) && (a + b > _max)) {
      _max = a + b; _maxindex = i;
    }
  }

  fprintf (outf, "%d", _maxindex + 1);
  fclose (inf);
  fclose (outf);
  // 这事不能忘
  return 0;
}

板凳

怎么有了void还要return 0;呢?

3 楼

因为有 int main 。通常this is right.if return a integer and return failurely,
so the integer is a dust integer,the value will not be used after.

But,in some cases,this returning value  is very importent.More c language use the returning value to tell the operatoin system the function runing SUCCESS
or failure.

  For example,the software operation system.[em20]

4 楼

"void" only explain the function no 参数.
if you want to add the " 参数” you can do it like this.

int main(int argc,char *argv[])
     {}[em20]

5 楼

参数是parameter

p.s. i don't like chinglish

6 楼

呵呵,成了英语练兵场了!

7 楼

不懂~
晕~

8 楼

标程(unhappy)


#include <fstream>
#include <cassert>

using namespace std;

ifstream fin("unhappy.in");
ofstream fout("unhappy.out");

#define cin fin
#define cout fout

int main(){
    int maxpos,max=-1;
    int i;
    for(i=0;i<7;i++){
        int a,b;
        cin>>a>>b;
        assert(0<=a&&a<10);
        assert(0<=b&&b<10);
        if(a+b>max){
            max=a+b;
            maxpos=i+1;
        }
    }
    cin>>i;
    assert(cin.eof());
    if(max<=8)cout<<0<<endl;
    else cout<<maxpos<<endl;
    return 0;
}

9 楼

楼上的标程是c++的吧,有c的么?发一下?

我来回复

您尚未登录,请登录后再回复。点此登录或注册