C语言——BC29 开学的两种解法

描述

小S:终于可以开学啦!好开心啊!

小Y:你没看新闻吗,开学日期又延后了。

小S:NOOOOOOOOOOOOOOOO!

小S知道原计划星期X开学,通知开学时间延期N天,请问开学日期是星期几(星期日用7表示)?

输入描述:

输入包含两个数字X,N(1≤X≤7, 1≤N≤1000)。

输出描述:

输出一个数字,表示开学日期是星期几。

普通解法:

#include <stdio.h>

int main() {
    int X,N;
    //输入
    scanf("%d %d",&X,&N);
    //计算
    int m=(X+N-1)%7+1;

    printf("%d",m);
    return 0;
}

运用了条件操作符的解法:

解题思路:利用条件操作符的真假判断,(X+N)%7如果再周一至周七的范围内,可直接打印,如若不是,则一定为星期日,打印7

#include <stdio.h>

int main() {
    int X, N;
    //输入
    scanf("%d %d", &X, &N);
    //计算
    int m = (X + N) % 7;

    printf("%d", m ? m : 7);
    return 0;
}

条件操作符概念

sxp1 ? sxp2 : sxp3

真          √         ×       得sxp2

假          ×         √       得sxp3

猜你喜欢

转载自blog.csdn.net/weixin_70464416/article/details/131704914