这是一道填空题,题目选自 中国海洋大学2017年硕士研究生入学考试试题

题目描述:

公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,

还知道这四人中每人说话要么全是真的,要么全是假的。

在回答公安人员的问题中:

甲说:“乙没有偷,是丁偷的。”

乙说:“我没有偷,是丙偷的。”

丙说:“甲没有偷,是乙偷的。”

丁说:“我没有偷。”

请根据这四人的答话编程判断谁是盗窃者。仔细阅读下面的程序并补充完整。

#include<stdio.h>
int main()
{    int i,j,a[4];for(int i=0;i<4;i++){    a[i]=1;for(j=0;j<4;j++) if( //填空1 ) a[j]=0;if(a[1]+a[3]==1 && (//填空 2)  && a[0]+a[1]==1)printf("The thief is %c.\n",'A'+i);}
}

详细分析一下:

题目告诉我们只有一个人是罪犯,所以设置一个int型数组a。

让a遍历所有可能的情况。

对于int a[4] 中 下标0 1 2 3分别对应甲 乙 丙 丁

而且甲乙丙所说的话都是有两句,要么全为真,要么全为假。

我们用a[i] = 1 来表示 i 是罪犯

以甲所说的话为例 “乙没有偷” 即为 a[1]=0 。“是丁偷的”,即为a[3]=1。

而这两句话要么全为真,要么全为假。

如果为真,那么 a[1] + a[3] = 0 + 1 = 1;

如果为假,那么 a[1] + a[3] = 1 + 0 = 1;

可以看出,对于甲乙丙每个人说的话,无论它是真是假,对应的条件和为1,

(这里可以理解为:甲说的话 无论真假 乙和丁必有一个是罪犯)

所以当甲乙丙每个人说的话 用数组中对应下标的值表示出来都为1时,此时的假设小偷成立

而最后一个丁的叙述对判断没有影响,所以在判断条件那里没有体现出来。

最后输出满足条件时,所对应的值。

公布结果:

第一空: 显然是每次将数组重新赋值,将假设的i变为1,其余全为0

所以答案为:  j != i

第二空:同时满足甲乙丙的三种条件

由于空前面是对应甲说的话,空后面对应的是丙说的话

所以填空应该对应乙说的话

即答案为:a[1]+a[2]=1

C语言逻辑填空题——审问嫌疑犯相关推荐

  1. c语言注释的开始标记符和结束标记符分别为,C语言程序设计填空题

    C语言程序设计填空题Tag内容描述: 1.面向对象程序设计期末综合练习二 填空题 填空题 1 C 语言是在 语言的基础上发展起来的 2 C 语言的编译单位是扩展名为 的 文件 3 行尾使用注释的开始标 ...

  2. 以往计算机二级c语言填空题,计算机二级C语言考试填空题精选4

    1. 电子数字计算机最主要的工作特点是 A) 高速度 B) 高精度 C) 存储程序与自动控制 D) 记忆力强 2. 在微机的性能指标中,用户可用的内存储器容量能常是指 A) ROM的容量 B) RAM ...

  3. c语言程序设计填空带答案,c语言程序设计填空题及答案复习用精编-20210414010859.docx-原创力文档...

    Lele was written in 2021 Lele was written in 2021 C语言程序设计填空题及答案复习用精编 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序 ...

  4. 计算机二级c语言填空题答案唯一吗,计算机二级C语言上机填空题及答案.doc

    计算机二级C语言上机填空题及答案 2.给定程序中,函数fun的功能是建立一个N×N的矩阵. 矩阵元素的构成规律是:最外层元素的值全部为1:从外向内第2层元素的值全部为2:第3层元素的值全部为3,-依次 ...

  5. c语言综合作业程序填空,C语言程序填空题及答案

    <C语言程序填空题及答案>由会员分享,可在线阅读,更多相关<C语言程序填空题及答案(9页珍藏版)>请在人人文库网上搜索. 1.程序填空题1.理序功皑丄输入1个整麴后,输出违教的 ...

  6. c语言考试 程序填空题,计算机二级C语言程序填空题练习题

    计算机二级C语言程序填空题练习题 导语:为帮助同学们更好更有准备地复习计算机二级C语言,小编整理了计算机二级C语言程序填空题练习题,一起来测试一下吧: 程序填空题 下列给定程序中,函数fun的功能是: ...

  7. c语言程序填空题库大一,c语言程序填空题

    if (k!=i) { temp= p[k]; p[k]=p[i];p[i]=temp;} } } main() { int i,a[20]; for (i =0; i<20; i++) sca ...

  8. 二级c语言填空题库及答案,计算机二级C语言程序填空题及答案解析精选

    { int a[10],i,*k=&i: for(i=0:i<10:i++) scanf(\: findmin(a,10,k): printf(\: } [3.4]下面程序的功能是计算1 ...

  9. c语言程序填空怎么给分,C语言程序填空题-20分

    <C语言程序填空题-20分>由会员分享,可在线阅读,更多相关<C语言程序填空题-20分(7页珍藏版)>请在人人文库网上搜索. 1.二.程序填空题(每空二.程序填空题(每空 2 ...

最新文章

  1. IIS 的身份验证简要说明 - 摘录
  2. 7开启uasp协议_Dubbo-go 源码笔记(一)Server 端开启服务过程
  3. 笔记-项目干系人管理-管理干系人参与
  4. VMware vSphere中三种磁盘:精简置备/厚置备置零/厚置备延迟置零
  5. javascript高级程序设计--笔记01
  6. 开源中国 OsChina Android 客户端源码分析(7)二维码生成对话框
  7. 关于iOS原生条形码扫描,你需要注意的两三事
  8. GaussDB(DWS)发生数据倾斜不要慌,一文教你轻松获取表倾斜率
  9. 随想录(无均衡负载的smp os设计)
  10. Java的核心思想(发展方向)
  11. Centos6.9如何安装vsftp
  12. 新手如何检查MacBook电池的运行状况
  13. C#基础知识(收藏)
  14. Windows: VC编程操作注册表键值
  15. 第四章 基于QT和DCMTK的Dicom 图像浏览器---检查文件夹下Dicom序列个数
  16. JavaSE学习笔记_20:Java网络编程
  17. android6.0新权限申请以及RxPermissions库的使用
  18. python:matplotlib基础(1)
  19. Java中比较常见的主流框架及相关技术合集
  20. RxJava过滤操作符 filter

热门文章

  1. 别再拿div+css误导人了
  2. java 嵌套事务_Java事务以及嵌套事务
  3. 数据泵 远程服务端数据导出
  4. wordpress汉化技巧_保护您的WordPress网站的6个技巧
  5. bash 后台程序_如何向您的Bash程序添加帮助工具
  6. 学生开源项目_吸引学生加入您的开源项目的9种方法
  7. Bootstrap 源代码之行内代码
  8. java fx消息通知_如何设置对话框控件Java FX / Java 8的图标
  9. android中返回刷新,Android intent 传递对象以及返回刷新
  10. ocdma相干非相干_非相干系统是什么意思