当前位置: 首页 > news >正文

c++习题34-说谎

目录

一,题目 

二,思路

三,代码


一,题目 

描述

ljc以自己的人格担保他最后一个回答一定是正确的,但并不保证其它的回答是对的。

每个数为ljc对上一个的回答,若为0表示说上句话是错的,若为1表示说上句话是对的。根据他四次的回答,请输出他原来的四句话的对与错。

输入描述

一行四个数,表示他回答的每次的对错值。

输出描述

一行四个数,为小明四句话的对错,对输出1、错输出0。

用例输入 1 

1 0 0 0

用例输出 1 

0 1 0 1

二,思路

  1. 由题可知,需要声明定义一个可以放置4个元素的整型数组 a,由于在后续对该数组 a的处理过程中,该数组a中的值不能发生变化,否则就会影响到后面的结果,因此,需要再定义一个存储结果的整型数组 b(放置四个元素,前三个都是0,根据题目,最后一个结果正确是1)
    ​​​​​​​int a[4],b[4]={0,0,0,1};
  2. 输入ljc的回答​​​​​​​
    for(int i=0;i<4;i++) cin>>a[i];
  3. 数组 b 每一次回答的正确与否取决于数组a 后一次的回答:“若为0表示说上句话是错的,若为1表示说上句话是对的”,即如果后一项 a[i+1]==0,则表示当前 b[i]回答错误,由于数组b的最后一个元素是1(表示正确),因此,直接对数组b[i+1] 取反就是当前 b[i]的结果,否则 a[i+1]==1,当前 b[i]的结果正确,为b[i+1] 的值。
    b[i]=(a[i+1]==0)?!b[i+1]:b[i+1];
    因为在运算过程中需要对数组a 的后一项元素进行判断,所以遍历数组a的索引不能超过数组a 的长度-2,即 索引 i 最大只能遍历到2,并且,由于存储结果的数组b的结果是由后推到前,因此,需要倒序遍历。
    	for(int i=2;i>=0;i--){b[i]=(a[i+1]==0)?!b[i+1]:b[i+1];}
  4.  最后在输出存储结果的数组b时,需要注意空格的输出:最后一个元素后面不需要输出空格,当遍历的索引到3时,输出无元素的字符串(即 '"),前面输出的元素后面都需要输出空格(即" ")
     
    (i<3)?" ":""

三,代码

#include <bits/stdc++.h>
using namespace std;
int main() {int a[4],b[4]={0,0,0,1};for(int i=0;i<4;i++) cin>>a[i];for(int i=2;i>=0;i--){b[i]=(a[i+1]==0)?!b[i+1]:b[i+1];}for(int i=0;i<4;i++) cout<<b[i]<<((i<3)?" ":"");return 0;
}

有问题请在评论区留言或者是私信我,回复时间不超过一天。

http://www.lryc.cn/news/461524.html

相关文章:

  • 如何使用Android Profiler进行性能分析?
  • 整理—MySQL
  • 临时配置linux Bridge网桥
  • 【Canvas与化学】铁元素图标
  • list转map常用方法
  • C++容器适配器的模拟实现-stack、queue、priority_queue
  • fastapi的docs页面是空白解决
  • 浙大数据结构:11-散列4 Hashing - Hard Version
  • pm2 守护http-server
  • 国外电商系统开发-运维系统应用管理
  • 剖析线程池实现原理
  • 【中危】Oracle TNS Listener SID 可以被猜测
  • 三维测量与建模笔记 - 简介
  • Glide 简易教程
  • flutter 使用三方/自家字体
  • 2024台州赛CTFwp
  • 词根plac-和place、please
  • ubuntu下route命令详解
  • 13.java面向对象:面向对象的三大特征
  • 【VUE】Vue中的内置组件
  • 若依框架篇-若依框架搭建具体过程、后端源代码分析、功能详解(权限控制、数据字典、定时任务、代码生成、表单构建、接口测试)
  • 恢复已删除文件的 10 种安卓数据恢复工具
  • Internet Download Manager2025快速下载,新功能解锁!
  • 传感器应用注意事项
  • PayPal美区账号注册指南
  • 《鸟哥的Linux私房菜基础篇》---1 Linux的介绍与如何开启Linux之路
  • 选择排序,插入排序,快速排序的java简单实现
  • 数据库中,超出范围和溢出问题的一些处理方法
  • Re75 读论文:Toolformer: Language Models Can Teach Themselves to Use Tools
  • Android App系统签名