前往
大廳
主題

[OJ練習] 10038

テリ君(桃夫模式) | 2022-11-21 17:25:08 | 巴幣 14 | 人氣 148

10038

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

int main(void){
    int len;
    int temp;
    int check;
    
    while(scanf("%d", &len) != EOF){
        int arr[3000] = {0};
        
        for(int i = 0; i < len; i ++){
            scanf("%d", &arr[i]);
        }
        
        int S[3000] = {0};
        
        for(int i = 0; i < len - 1; i ++){
            S[i] = abs(arr[i] - arr[i + 1]);
        }
        
        for(int i = 0; i < len - 1; i ++){
            for(int j = i + 1; j < len - 1; j++){
                if(S[i] > S[j]){
                    temp = S[i];
                    S[i] = S[j];
                    S[j] = temp;
                }
            }
        }
        
        check = 0;
        
        for(int i = 0; i < len - 1; i ++){
            if(S[i] != i + 1){
                check = 1;
                break;
            }
        }
        
        if(check == 1){
            printf("Not jolly\n");
        }
        else{
            printf("Jolly\n");
        }
    }
    
    return 0;
}

3/5
我發現我對於scanf 的理解還不夠
原來我打一整行用空格分開的數據scanf一次只會讀第一筆
所以可以先scanf去讀第一筆的值
再去讀後面那些各個值到陣列
做完後發現理解不難
好家在

創作回應

更多創作