//日本某地發生了一件謀殺案,警察經過排查肯定殺人兇手必爲4個嫌疑犯的一個。如下爲4個嫌疑犯的供詞。 //A說:不是我。 //B說:是C。 //C說:是D。 //D說:C在胡說 //已知3我的說了真話,1我的說的是假話。 //如今請根據這些信息,寫一個程序來肯定到底誰是兇手。 #include<stdio.h> int main() { int i=0; int killer=0; for(i=0;i<4;i++) { killer=65+i; if((killer!='A' )+(killer=='C')+(killer=='D')+(killer!='D')==3) { printf("Killer is %c\n",killer); break; } } if((killer!='A' )+(killer=='C')+(killer=='D')+(killer!='D')!=3) { printf("Killer not found!\n"); } return 0; }
其實剛開始拿到這個題目的時候是無從下手的,雖然本身能夠作推算,可是用編程的方法寫出來仍是不是很會,可是仔細分析題目之後,發現用編程
if((killer!='A' )+(killer=='C')+(killer=='D')+(killer!='D')==3)
這個判斷語句就能夠解決問題了,三人之中有一人說了假話,同時也讓我再次認識到+號的另外一種用法。ide