[[07年度-ACM-ICPC国内予選]]

***2007A [#i0a53608]
-''Blue Screenの解答''&br;

回答者:[[ゆん]]&br;
所要時間:19分&br;
予選時:クリア

 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
 #include <conio.h>
 int main()
 {
	//ファイル処理-----------------
	char FileName[256];
	printf("ファイル名を入れて〜");
	scanf("%256s", FileName);
	FILE* fpIn = fopen(FileName, "r");
	FILE* fpOut = fopen("output.txt", "w");
	//-----------------------------
	int A;
	while(1){
		int sum = 0, max = 0, min = 1000, n, s;
		fscanf(fpIn, "%d", &n);
		if(n == 0) break;
		for (int j = 0; j < n; ++j){
			fscanf(fpIn, "%d", &s);
			max = max > s? max : s;
			min = min < s? min : s;
			sum += s;
		}
		sum -= max;
		sum -= min;
		fprintf(fpOut, "%d\n", sum / (n - 2));
		printf("%d\n",  sum / (n - 2));
	}
	printf("終了!");
	//終了処理---------------------
	fclose(fpOut);
	getch();
	return 0;
 }

-''include studioの解答''&br;

回答者:[[ほへい]]&br;
所要時間:たぶん10分くらい&br;
予選時:クリア&br;

ゆんさんのコードと大筋は一緒です。&br;
ゆん先輩のコードと大筋は一緒です。&br;

 #include <stdio.h>
 
 int num_sinpan, max, min;
 int points[100];
 int answer;
 
 FILE *fp_in, *fp_out;
 static char *f_source = "A_in.txt";
 static char *f_answer = "A_out.txt";
 
 int main(void)
 {
    
    fp_in = fopen(f_source, "r");
    fp_out = fopen(f_answer, "w");
    while(1) {
        int i;
        fscanf(fp_in, "%d", &num_sinpan);
        if(num_sinpan == 0) break;
        
        answer = 0;
        max = 0;
        min = 1000;
        for(i = 0; i < num_sinpan; i++) {
            fscanf(fp_in, "%d", &points[i]);
            answer += points[i];
            max = (max > points[i]) ? max : points[i];
            min = (min > points[i]) ? points[i] : min;
        }
        answer -= (min + max);
        answer /= (num_sinpan - 2);
        fprintf(fp_out, "%d\n", answer);
    }
    fclose(fp_in);
    fclose(fp_out);
    return 0;
 }

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS