作業01

Qquun發表於2024-10-25

A

#include<stdio.h>
int main() {
    int a;
    scanf("%d",&a);
    int x,y,z;
    x = a/100;
    y = a%100/10;
    z = a%100%10;
    if ((x == y && y != z) || (x == z && y != z) || (y == z && x != z)){
        puts("Yes");
    } else {
        puts("No");
    }
    return 0;
}

D

#include<stdio.h>
#include<math.h>
// 這裡手寫了最大值和最小值的函式,回顧一下函式的知識點吧~ 
int min(int x,int y) {
    if (x > y) {
        return y;
    } else {
        return x;
    }
}


int max(int x,int y) {
    if (x > y) {
        return x;
    } else {
        return y;
    }
}

int main() {
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    // 這道題就是看你怎麼寫更方便,寫if判斷來判斷去太麻煩了。、
    // C++的<algorithm>裡有min(a,b)和max(a,b)的函式,這兩個函式會返回兩數之間的最大值和最小值
    // C語言的這兩個函式我不知道在哪裡了(並不在math.h)裡 。。我就先自己手寫了兩個函式,我們就當作是複習函式了吧
    // 先求最大數
    int mx = -1e9;// 先假設一個無窮小的數當最大值
    mx = max(mx, a); // 然後不斷拿其他數來更新這個假設的最大值
    mx = max(mx, b);
    mx = max(mx, c);
    
    // 求最小數
    int mi = 1e9;// 同理,先假設一個無窮大的數來當最小值
    mi = min(mi, a);// 不斷更新
    mi = min(mi, b);
    mi = min(mi, c);
    
    printf("%d %d",mx, mi);
    return 0;
}