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

蓝桥杯国14 不完整的算式

 !!!!!!!!!!!!!!!理清思路 然后一步步写

问题描述

小蓝在黑板上写了一个形如 AopB=C 的算式,其中 A、B、C 都是非负整数,op 是 +、-、*、/(整除)四种运算之一。不过 A、op、B、C 这四部分有一部分被不小心的同学擦掉了。

给出这个不完整的算式,其中被擦掉的部分(被擦掉的部分是被完整的擦掉,不会出现留下若干位数字的情况)用 ? 代替。请你输出被擦掉的部分。

输入描述

输入只有一行,包含一个字符串代表如上文所述的不完整的算式。

输出描述

如果被擦掉的部分是 A、B、C 之一,请输出一个整数代表答案。如果被擦掉的部分是 op,请输出+、-、*、/四个字符之一代表答案。

样例输入1

1+?=2

样例输出1

1

样例输入2

10?3=3

样例输出2

/

代码示例

import java.util.Scanner;
public class Main{public static void main(String[]args){Scanner sc=new Scanner(System.in);String s=sc.nextLine();if(s.contains("+")||s.contains("-")||s.contains("*")||s.contains("/"))//当字符串中有+-*/负号,即缺ABC{String s1[]=s.split("=");//从=字符将整个字符串分成两个字符串,"A op B"是s1[0],"C"是s1[1];String s2=s1[0];//即s2="A op B"if(s1[1].equals("?"))//即C被?代替了{int op=0;for(int i=0;i<s2.length();i++) {if(s2.charAt(i)<'0'||s2.charAt(i)>'9')//检查运算符所在位置的索引{op=i;break;}}int a=Integer.parseInt(s2.substring(0,op));int b=Integer.parseInt(s2.substring(op+1,s2.length()));if(s.contains("+"))System.out.println(a+b);if(s.contains("-"))System.out.println(a-b);if(s.contains("*"))System.out.println(a*b);if(s.contains("/"))System.out.println(a/b);}else {//A或B被替代了int c=Integer.parseInt(s1[1]);int op=0;for(int i=0;i<s2.length();i++){if(s2.charAt(i)=='+'||s2.charAt(i)=='-'||s2.charAt(i)=='*'||s2.charAt(i)=='/')//检查运算符所在位置的索引{op=i;break;}}int a=0;if(s2.charAt(op-1)>='0'&&s2.charAt(op-1)<='9')//有A缺B{a=Integer.parseInt(s2.substring(0,op));if(s.contains("/"))System.out.println(a/c);if(s.contains("-"))System.out.println(a-c);}else {//有B缺Aa=Integer.parseInt(s2.substring(op+1,s2.length()));if(s.contains("/"))System.out.println(a*c);if(s.contains("-"))System.out.println(a+c);}if(s.contains("+"))System.out.println(c-a);if(s.contains("*"))System.out.println(c/a);}}else {//缺运算符String s1[]=s.split("=");//从=字符将整个字符串分成两个字符串int c=Integer.parseInt(s1[1]);//转换成整数CString s2=s1[0];int op=0;for(int i=0;i<s2.length();i++){if(s2.charAt(i)<'0'||s2.charAt(i)>'9')//检查运算符所在位置的索引{op=i;break;}}int a=Integer.parseInt(s2.substring(0,op));//转换成整数Aint b=Integer.parseInt(s2.substring(op+1,s2.length()));//转换成整数Bif(a+b==c)System.out.println("+");if(a-b==c)System.out.println("-");if(a*b==c)System.out.println("*");if(a/b==c)System.out.println("/");}}
}

相关文章:

  • Google机器学习实践指南(学习速率篇)
  • 50页 @《人工智能生命体 新启点》中國龍 原创连载
  • Swagger API 未授权访问漏洞【原理扫描】修复
  • Data Whale
  • 【机械视觉】Halcon—【一、Halcon的介绍和基础语法】
  • AdGuard解锁高级版(Nightly)_v4.10.36 安卓去除手机APP广告
  • 宏山激光韩国釜山开放日圆满举行,服务本地化再提速
  • 路由协议RIP配置与分析
  • 机器人强化学习入门学习笔记(三)
  • 中国软件行业 2024 年度分析报告
  • MyBatis 中 parameterType 属性
  • el-form表单规则验证
  • 机器学习 Day1
  • G1人形机器人软硬件组成
  • 什么是HTTP
  • [SWPUCTF 2024 秋季新生赛]ret2libc也阴嘛?(NSSCTF)
  • 公司内网本地的SVN没有公网IP地址,在家外网也能远程访问SVN服务!
  • 1.2.1+1.2.2计算机硬件的基本组成
  • Vue3中的TSX:用函数式思维构建现代组件的实践指南
  • 初识main函数
  • 广州网络引流公司/电商seo优化
  • 动态网站开发作业/主要推广手段免费
  • web网站设计的要求/seo最新快速排名
  • 有哪些网站是静态网站/郑州网络推广
  • 东莞南城做网站/网络营销的实现方式包括
  • 东莞做网站it s/竞价推广是做什么的