#22567: C 參考解答


fastrvretk@gmail.com (Abas Tanmia)

學校 : 不指定學校
編號 : 128721
來源 : []
最後登入時間 :
2020-09-03 14:28:56
c299. 1. 連號或不連號 -- 106學年度全國資訊學科能力競賽 | From: [120.107.208.88] | 發表日期 : 2020-09-16 18:51

#include<stdio.h>

 

int Find_Min(int data[]){

    int min;

    int i;

    for (i=0; i<=1000; i++){

        if (data[i]==1) {

            min=i;

            break;

        }

    }

    return min;

}

 

int Find_Max(int data[]){

    int max;

    int i;

    for (i=1000; i>=0; i--){

        if (data[i]==1) {

            max=i;

            break;

        }

    }

    return max;

}

 

int main(){

 

    int n;

 

    while (scanf("%d", &n) !=EOF){

        int data[1001]={0};

        int input=0;

        int i;

        for (i=1; i<=n; i++){

            scanf("%d", &input);

            data[input]=1;

        }

        int min, max, test=0;

        min=Find_Min(data);

        max=Find_Max(data);

        for (i=min; i<=max; i++){

            if (data[i]==0){

                test=1;

                break;

            }

        }

        if (test==0) printf("%d %d yes\n", min, max);

        else if (test==1) printf("%d %d no\n", min, max);

    }

 

    return 0;

}

 

 
ZeroJudge Forum