最讨厌这种字符串问题了!!

2024-04-07 20:04
文章标签 问题 字符串 这种 讨厌

本文主要是介绍最讨厌这种字符串问题了!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:洛谷P1957口算练习题

题目大意描述:

第一行输入一个整数表示接下来要进行多少次运算,接下来每行输入一个字母c和两个数字x,y(输入的字母为a/b/c,分别表示要进行+,-,*运算)或者就输入两个数字x,y(表示这次运算方式和上次相同)。输出计算式和这个计算式有多少个字符。

输入输出样例:

输入
4
a 64 46
275 125
c 11 99
b 46 64

输出

64+46=110
9
275+125=400
11
11*99=1089
10
46-64=-18
9

作者思路:

到底该怎么判断要输入两个数字还是输入一个字母和两是个数字呢?本蒟蒻的思路先输入要输入的第一个字母或数字,我就定义一个字符串变量s,然后判断s[0]是否等于a/b/c,如果是的话再输入x,y,如果不是的话就把刚刚输入的字符串转换为整数类型然后赋值给x,然后再输入y,所以我就写了一个字符转数字的函数,然后又写了一个判断数字是几位数的函数。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int len(int x){int y;if(x==0) return 1;if(x<0) y=-x;else y=x;int l=(int)log10(y)+1;if(x<0) return l+1;else return l;
}
int trs(string s){int s1=0,a,l;for(int i=0;i<s.size();i++){a=(int)s[i]-48;l=s.size()-1-i;while(l--){a*=10;}s1+=a;}return s1;
}
int main(){int n;cin>>n;string s;char t;int x,y,z,l1,l2,l3,l;while(n--){cin>>s;if(s[0]<'d'&&s[0]>='a'){t=s[0];cin>>x>>y;it:l1=len(x);l2=len(y);if(t=='a'){z=x+y;l3=len(z);l=l1+l2+l3+2;printf("%d+%d=%d\n%d\n",x,y,z,l);}if(t=='b'){z=x-y;l3=len(z);l=l1+l2+l3+2;printf("%d-%d=%d\n%d\n",x,y,z,l);}if(t=='c'){z=x*y;l3=len(z);l=l1+l2+l3+2;printf("%d*%d=%d\n%d\n",x,y,z,l);}}else{x=trs(s);cin>>y;goto it;}}
} 

这篇关于最讨厌这种字符串问题了!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/883537

相关文章

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss