Submission #3430725


Source Code Expand

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

#define NNE 11.25
#define NE 33.75
#define ENE 56.25
#define E 78.75
#define ESE 101.25
#define SE 123.75
#define SSE 146.25
#define S 168.75
#define SSW 191.25
#define SW 213.75
#define WSW 236.25
#define W 258.75
#define WNW 281.25
#define NW 303.75
#define NNW 326.25
#define N 348.75

#define furyoku0 0.2
#define furyoku1 1.5
#define furyoku2 3.3
#define furyoku3 5.4
#define furyoku4 7.9
#define furyoku5 10.7
#define furyoku6 13.8
#define furyoku7 17.1
#define furyoku8 20.7
#define furyoku9 24.4
#define furyoku10 28.4
#define furyoku11 32.6

void checkDeg(double Deg,char *data);
int checkDis(double w);

int main(void){
    double Deg,Dis;
    scanf("%lf %lf",&Deg,&Dis);
    // printf("%lf %lf\n",Deg,Dis);

    char Dir[4] = {};
    int w = checkDis(Dis);
    if(w != 0){
        checkDeg(Deg,Dir);
        printf("%s %d\n",Dir,w);
    }else{
        printf("%c %d\n",'C',w);
    }
}

void checkDeg(double Deg,char *data){
    Deg /= 10;
    if(Deg < NNE || Deg >= N){
        strcpy(data,"N");
    }else if(Deg < NE){
        strcpy(data,"NNE");
    }else if(Deg < ENE){
        strcpy(data,"NE");
    }else if(Deg < E){
        strcpy(data,"ENE");
    }else if(Deg < ESE){
        strcpy(data,"E");
    }else if(Deg < SE){
        strcpy(data,"ESE");
    }else if(Deg < SSE){
        strcpy(data,"SE");
    }else if(Deg < S){
        strcpy(data,"SSE");
    }else if(Deg < SSW){
        strcpy(data,"S");
    }else if(Deg < SW){
        strcpy(data,"SSW");
    }else if(Deg < WSW){
        strcpy(data,"SW");
    }else if(Deg < W){
        strcpy(data,"WSW");
    }else if(Deg < WNW){
        strcpy(data,"W");
    }else if(Deg < NW){
        strcpy(data,"WNW");
    }else if(Deg < NNW){
        strcpy(data,"NW");
    }else if(Deg < N){
        strcpy(data,"NNW");
    }
}

int checkDis(double Dis){
    Dis /= 60;
    int w = 0;
    Dis = floor(Dis * 10 + 0.5) /10;
    // printf("%f\n",Dis);
    if(Dis <=furyoku0){
        w = 0;
    }else if(Dis <= furyoku1){
        w = 1;
    }else if(Dis <= furyoku2){
        w = 2;
    }else if(Dis <= furyoku3){
        w = 3;
    }else if(Dis <= furyoku4){
        w = 4;
    }else if(Dis <= furyoku5){
        w = 5;
    }else if(Dis <= furyoku6){
        w = 6;
    }else if(Dis <= furyoku7){
        w = 7;
    }else if(Dis <= furyoku8){
        w = 8;
    }else if(Dis <= furyoku9){
        w = 9;
    }else if(Dis <= furyoku10){
        w = 10;
    }else if(Dis <= furyoku11){
        w = 11;
    }else{
        w = 12;
    }
    return w;
}

Submission Info

Submission Time
Task C - 風力観測
User aaaa0424
Language C (GCC 5.4.1)
Score 100
Code Size 2686 Byte
Status AC
Exec Time 1 ms
Memory 128 KB

Compile Error

./Main.c: In function ‘main’:
./Main.c:40:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lf %lf",&Deg,&Dis);
     ^

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 66
Set Name Test Cases
all 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 00_sample_06.txt, 00_sample_07.txt, 00_sample_08.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 128 KB
00_sample_02.txt AC 1 ms 128 KB
00_sample_03.txt AC 1 ms 128 KB
00_sample_04.txt AC 1 ms 128 KB
00_sample_05.txt AC 1 ms 128 KB
00_sample_06.txt AC 1 ms 128 KB
00_sample_07.txt AC 1 ms 128 KB
00_sample_08.txt AC 1 ms 128 KB
test_01.txt AC 1 ms 128 KB
test_02.txt AC 1 ms 128 KB
test_03.txt AC 1 ms 128 KB
test_04.txt AC 1 ms 128 KB
test_05.txt AC 1 ms 128 KB
test_06.txt AC 1 ms 128 KB
test_07.txt AC 1 ms 128 KB
test_08.txt AC 1 ms 128 KB
test_09.txt AC 1 ms 128 KB
test_10.txt AC 1 ms 128 KB
test_11.txt AC 1 ms 128 KB
test_12.txt AC 1 ms 128 KB
test_13.txt AC 1 ms 128 KB
test_14.txt AC 1 ms 128 KB
test_15.txt AC 1 ms 128 KB
test_16.txt AC 1 ms 128 KB
test_17.txt AC 1 ms 128 KB
test_18.txt AC 1 ms 128 KB
test_19.txt AC 1 ms 128 KB
test_20.txt AC 1 ms 128 KB
test_21.txt AC 1 ms 128 KB
test_22.txt AC 1 ms 128 KB
test_23.txt AC 1 ms 128 KB
test_24.txt AC 1 ms 128 KB
test_25.txt AC 1 ms 128 KB
test_26.txt AC 1 ms 128 KB
test_27.txt AC 1 ms 128 KB
test_28.txt AC 1 ms 128 KB
test_29.txt AC 1 ms 128 KB
test_30.txt AC 1 ms 128 KB
test_31.txt AC 1 ms 128 KB
test_32.txt AC 1 ms 128 KB
test_33.txt AC 1 ms 128 KB
test_34.txt AC 1 ms 128 KB
test_35.txt AC 1 ms 128 KB
test_36.txt AC 1 ms 128 KB
test_37.txt AC 1 ms 128 KB
test_38.txt AC 1 ms 128 KB
test_39.txt AC 1 ms 128 KB
test_40.txt AC 1 ms 128 KB
test_41.txt AC 1 ms 128 KB
test_42.txt AC 1 ms 128 KB
test_43.txt AC 1 ms 128 KB
test_44.txt AC 1 ms 128 KB
test_45.txt AC 1 ms 128 KB
test_46.txt AC 1 ms 128 KB
test_47.txt AC 1 ms 128 KB
test_48.txt AC 1 ms 128 KB
test_49.txt AC 1 ms 128 KB
test_50.txt AC 1 ms 128 KB
test_51.txt AC 1 ms 128 KB
test_52.txt AC 1 ms 128 KB
test_53.txt AC 1 ms 128 KB
test_54.txt AC 1 ms 128 KB
test_55.txt AC 1 ms 128 KB
test_56.txt AC 1 ms 128 KB
test_57.txt AC 1 ms 128 KB
test_58.txt AC 1 ms 128 KB