C語言猜兇手的代碼實(shí)現(xiàn)
題目:
日本某地發(fā)生了一件謀殺案,警察通過排查確定殺人兇手必為4個(gè)嫌疑犯的一個(gè)。
以下為4個(gè)嫌疑犯的供詞:
A說:不是我。
B說:是C。
C說:是D。
D說:C在胡說
已知3個(gè)人說了真話,1個(gè)人說的是假話。
現(xiàn)在請(qǐng)根據(jù)這些信息,寫一個(gè)程序來確定到底誰是兇手。
思路: 總體思路:
依次假設(shè)每個(gè)人是兇手進(jìn)行判斷,看4人說的話是不是 1假3真,是則證明假設(shè)的該人就是兇手
定義變量:
char killer = 0; -- 兇手
因?yàn)?a b c d 的ASCII碼值是連著的,
所以有 a+1=b,以此類推,依次假定每個(gè)人是兇手,判斷情況
(使用 for循環(huán) 依次假定每個(gè)人是兇手)
把4句話,4個(gè)情況列出來,
情況 1假3真 ,真為 1 ,假為 0 ,
4種情況 “相加”==3 ,
(使用 if條件判斷語句 實(shí)現(xiàn))
即 當(dāng)前假定的人就是兇手,進(jìn)行打印
一步到位:
(1).定義變量:
char killer = 0; -- 兇手
(2).
因?yàn)?a b c d 的ASCII碼值是連著的,
所以有 a+1=b,以此類推,依次假定每個(gè)人是兇手,判斷情況
(使用 for循環(huán) 依次假定每個(gè)人是兇手)
(3).
把4句話,4個(gè)情況列出來,
情況 1假3真 ,真為 1 ,假為 0 ,
4種情況 “相加”==3 ,
(使用 if條件判斷語句 實(shí)現(xiàn))
即 當(dāng)前假定的人就是兇手,進(jìn)行打印
實(shí)現(xiàn)代碼
#include <stdio.h> int main() { //定義變量: char killer = 0; //兇手 //依次假定每個(gè)人是兇手: for (killer = 'a'; killer <= 'd'; killer++) //因?yàn)?a b c d 的ASCII碼值是連著的,所以a+1==b, //以此類推,依次假定每個(gè)人是兇手,判斷情況 { //把4個(gè)情況列出來: if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3) //把4句話,4個(gè)情況列出來,情況1假3真,真為1,假為0,4種情況“相加”==3,符合就是兇手進(jìn)行打印 { //符合則進(jìn)行打印 printf("兇手是:%c\n", killer); break; } } return 0; }
實(shí)現(xiàn)圖片:
(注:for循環(huán)的判斷條件是 killer <= 'd')
最終代碼和實(shí)現(xiàn)效果
最終代碼
#include <stdio.h> int main() { //定義變量: char killer = 0; //兇手 //依次假定每個(gè)人是兇手: for (killer = 'a'; killer <= 'd'; killer++) //因?yàn)?a b c d 的ASCII碼值是連著的,所以a+1==b, //以此類推,依次假定每個(gè)人是兇手,判斷情況 { //把4個(gè)情況列出來: if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3) //把4句話,4個(gè)情況列出來,情況1假3真,真為1,假為0,4種情況“相加”==3,符合就是兇手進(jìn)行打印 { //符合則進(jìn)行打印 printf("兇手是:%c\n", killer); break; } } return 0; }
實(shí)現(xiàn)效果:
到此這篇關(guān)于C語言猜兇手的代碼實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C語言猜兇手內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
stl容器set,map,vector之erase用法與返回值詳細(xì)解析
在使用 list、set 或 map遍歷刪除某些元素時(shí)可以這樣使用,如下所示2013-09-09C++實(shí)現(xiàn)LeetCode(133.克隆無向圖)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(133.克隆無向圖),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C++快速調(diào)用DeepSeek API的完整指南
最近,DeepSeek的API引起了我的興趣,它提供了強(qiáng)大的對(duì)話生成能力,可以用于多種應(yīng)用場(chǎng)景,雖然DeepSeek官方提供了詳細(xì)的API文檔,但遺憾的是,目前沒有專門針對(duì)C++的調(diào)用示例,所以,本文給大家實(shí)現(xiàn)一個(gè)C++版本的調(diào)用示例,需要的朋友可以參考下2025-03-03