2015年6月1日 星期一

d063:0 與 1 (12)

d063: 0 與 1 (12)

更新時間:2016/12/20
內容
  文文上了他的第一堂電腦概論,老師說電腦內部是由很多的小開關來組成:1 代表開、0 代表關。於是聰明的文文便了解了,原來我們平常使用電燈開關就是把 1 變成 0、0 變成 1 嘛!
輸入說明
  輸入只有一行,含有一個為 0 或 1 的整數。
輸出說明
  輸入為 0 則輸出 1;輸入為 1 則輸出 0。
範例輸入
  1
範例輸出
  0
提示
背景知識
  運算子
  你能不用 if 指令,只用算術或關係運算子做出這題嗎?



想一想,再看解答~


我的解題想法
  因為輸入只有0與1,所以把它當成是取2的餘數。



程式碼
#include <stdio.h>
int main(void){
    int b;
    scanf("%d",&b);
    printf("%d",(b+1)%2);
    return 0;
}
程式碼解析
#1:引入標準輸入/輸出串流。
#2:主程式開始,回傳引數int,沒有參數。
#3:宣告1個整數(int)變數「b」,範圍–2,147,483,648 到 2,147,483,647。
#4:從標準輸入讀取格式化數據。讀取1個整數(%d),指定值給「b」。
#5:將格式化數據顯示到標準輸出。輸出1個整數(%.3lf)「(b+1)%2」。
#6:主程式回傳整數「0」。
#7:主程式結束。



♠施同學想出的方法,非常棒!
#include <stdio.h>
int main(void){
    int b;
    scanf("%d",&b);
    printf("%d",1-b);
    return 0;
}