ETH官方钱包

前往
大廳
主題

[OJ 練習] 10035、494

テリ君(桃夫模式) | 2022-11-24 14:28:46 | 巴幣 0 | 人氣 159

10035 (1/5)

#include <stdio.h>

// carry: 5 + 4 = 9 -> not carry ; 5 + 5 = 10 -> carry (in decimal)

int a, b;
int carry[100];
int j = 0, k = 0;
int l = 1000000000;

int main(){
    while(scanf("%d %d", &a, &b) != EOF ){
        if(a == 0 && b == 0) break;
        carry[j] = 0;
        for(int i = 1; i < 11; i++){
            if((int)(a / l) + (int)(b / l) >= 10){
                carry[j]++;
            }
            a = a - (int)(a / l) * l;
            b = b - (int)(b / l) * l;
            l = l / 10;
        }
        l = 1000000000;
        j++;
        k++;
    }
    for(j = 0; j < k; j++){
        if(carry[j] == 0){
            printf("No carry operation.\n");
        }
        else if(carry[j] == 1){
            printf("1 carry operation.\n");
        }
        else{
            printf("%d carry operations.\n", carry[j]);
        }
    }
    
    return 0;
}

// DONE!!!

494(2/5)

#include <stdio.h>

int main(){
    char sen[10000];
    int count, total;
    while(gets(sen)){
        count = 0, total = 0;
        for(int i = 0; sen[i]; i++){ // sen[i] for the limit
            if( sen[i] >= 'a' && sen[i] <= 'z' || sen[i] >= 'A' && sen[i] <= 'Z'){
                count = 1;
            }
            else{
                total += count;
                count = 0;
            }
        }
        printf("%d\n", count + total);
    }
    
    return 0;
}

我發現超過10000系列的都比較直覺好懂
以下的像是494就是要知道說
在電腦判斷裡面可以用 該 字元 >= a 且 <= z 或 >= A 且 <= Z 來判斷
我一開始以為還要轉ASCII還是16進制= =
還好有爬文看一下

創作回應

更多創作