1. 程式人生 > 實用技巧 >從頭開始的OI之路(1)

從頭開始的OI之路(1)

洛谷 P5711 【深基3.例3】閏年判斷

考察知識點小學數學簡單模擬。一道水題,運用三目運算子,假設這個年份為n,那麼當(n%4=0並且n%100)或(n%400=0)時輸出1,否則輸出0。不用if-else是因為想要壓行想要讓程式碼變得更加簡潔。

貼程式碼:

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    cout<<((n%4==0&&n%100!=0)||(n%400==0))?1:0;
    return 0;
}

拓展:

三目運算表示式:<表示式1>?<表示式2>:<表示式3>


“?”運算子的含義是: 先求表示式1的值,如果為真,則執行表示式2,並返回表示式2的結果 ; 如果表示式1的值為假,則執行表示式3 ,並返回表示式3的結果。

例:

//普通版
int a, b, z;
cin>>a>>b;
if (a>b)
{
    z=a;//當a的數值比b的大時,將a的數值賦給z
}
else
{
    z=b;//當b的數值比a的大時,將b的數值賦給z
}

//三目運算子版
int a, b, z;
cin>>a>>b;
z=(a>b)?a:b;//條件成立賦左值z=a,條件不成立賦右值z=b

你們要知道,那個看起來奇怪的三目運算子,比你們if-else不知道高到哪裡去了,我和他談笑風生!