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

蓝桥杯国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("/");}}
}

http://www.xdnf.cn/news/8251.html

相关文章:

  • 中文域名25周年,取得哪些里程碑式的进展?
  • 力扣HOT100之图论:207. 课程表
  • MQSQL笔记二——非操控数据操作
  • 【Python】Python 装饰器的用法总结
  • 聚铭安全管家平台2.0重磅发布——大模型智驱高效降本新方向
  • 基于OpenLCA、GREET、R语言的生命周期评价方法、模型构建及典型案例应用
  • LVGL(lv_span富文本控件)
  • Ubuntu 25.04 锁屏不能远程连接的解决方案
  • JavaScript闭包
  • 数据保护与通讯安全
  • 【论文精读】2023 CVPRW--EAVSR现实世界视频超分辨率(RealWorld VSR)
  • 【Go】1、Go语言基础
  • LeRobot 框架的开发指南 (下)
  • react native搭建项目
  • 计算机操作系统(十二)详细讲解调计算机操作系统调度算法与多处理机调度
  • 设计模式系列(05):工厂方法模式(Factory Method)
  • 量化研究---bigquant策略交易api研究
  • 清华大学:基于生成模型的上肢外骨骼机器人助力个性化中风康复
  • 【菜狗work前端】小程序加if判断时不及时刷新 vs Web
  • Spring源码编译
  • 数学建模day01
  • 【AI测试革命】第七期:AI性能测试的深度实践——从智能建模到自动化调优的全链路升级
  • 力扣-最大连续一的个数
  • == 和 equals 的区别
  • 汽车充电桩专用ASCP210系列电气防火限流式保护器
  • 2025年河北省职业院校技能大赛“网络空间安全技能大赛”赛项样题A
  • 软考 UML中的 用例图 的泛化 包含 扩展 关系
  • 院校机试刷题第九天:P1042乒乓球、回顾代码随想录第二天
  • NBA足球赛事直播源码体育直播M35模板赛事源码
  • 智能办公协同系统开发日志(三):画板模块设计与实现全记录