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

【2023.10.30练习】C语言-判断等式成立

计算机能力挑战初赛2020.20题
题目描述:

输入正整数A、B、C(0<=A,B,C<=10000),若用'+'、'-'、'*'、'/'、'%'之一组成等式(即A@B=C,@是上述运算符之一,),则输出“YES”,否则输出“NO”;
输入:
第一行输入正整数N(1<=N<=1000)表示有N组数据,
其后有N行非零整数A、B、C。
输出:
对于每行整数A、B、C,其计算结果各占一行。
输入样例:
5
2 3 6
3 5 1
5 3 1
1 4 1
6 2 7
输出样例:
YES
NO
NO
YES
NO
(说明:输入样例中2*3=6,1%4=1)


题目分析:

初始代码如下:

#include <stdio.h>int main(void) {int num;scanf("%d", &num);int A;int B;int C;for (int i = 0; i < num; i++) {scanf("%d", &A);scanf("%d", &B);scanf("%d", &C);if (A + B == C || A - B == C || A * B ==C  || A / B == C || A % B == C) {printf("YES");}else {printf("NO");}}return 0;
}

运行后发现 5 3 1的输出结果为YES,不符题意。

显然是因为在整形类型下:5/3=1。

所以将判定A / B == C修改为B * C == A


最终代码:
#include <stdio.h>int main(void) {int num;scanf("%d", &num);int A;int B;int C;for (int i = 0; i < num; i++) {scanf("%d", &A);scanf("%d", &B);scanf("%d", &C);if (A + B == C || A - B == C || A * B ==C  || C * B == A || A % B == C) {printf("YES\n");}else {printf("NO\n");}}return 0;
}

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

相关文章:

  • Wpf 使用 Prism 实战开发Day03
  • JavaEE-cookie和session
  • Java设计模式之命令模式
  • 记录一段帮朋友写的代码,使用牛顿-拉夫逊方法解方程
  • 滑动窗口限流算法实现一
  • 简单明了!网关Gateway路由配置filters实现路径重写及对应正则表达式的解析
  • EMQX内置Web管理控制台-Dashboard
  • 计算机网络重点概念整理-第四章 网络层【期末复习|考研复习】
  • 数组转树形数据
  • react动态插入样式
  • OkHttp网络框架深入理解-SSL握手与加密
  • Mac 安装使用NPM及常用命令
  • 利用 JSqlParser 防止 SQL 注入
  • 10.27~10.29数电第三次实验分析与问题
  • 【软考】14.3 设计模式
  • Mac docker+vscode
  • LLVM学习笔记(58)
  • C语言 每日一题 PTA 10.30 day8
  • nacos在linux中的安装、集群的配置、mysql生产配置
  • OpenAI 组建安全 AGI 新团队!应对AI“潘多拉魔盒”
  • 上网行为管理软件有哪些丨功能图文超详细介绍
  • DVWA-SQL Injection SQL注入
  • 【0基础学Java第四课】-- 逻辑控制
  • C++中的std::cout与std::cerr、std::clog
  • No authorization token was found
  • Kubernetes概述及其组件/核心组件
  • 毫米波雷达实时采集教
  • Java进阶(HashMap)——面试时HashMap常见问题解读 结合源码分析
  • Kotlin 使用@BindingAdapter编译出错
  • Qt之信号和槽,connect参数分析