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

wordpress免费还是收费广州seo公司哪个比较好

wordpress免费还是收费,广州seo公司哪个比较好,wordpress更换域名图片不显示,专业的网页设计培训题目链接 https://www.luogu.org/problemnew/show/P1553 题目描述 给定一个数,请将该数各个位上数字反转得到一个新数。 这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整数反转是将所有数位…

题目链接

https://www.luogu.org/problemnew/show/P1553


题目描述

给定一个数,请将该数各个位上数字反转得到一个新数。

这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整数反转是将所有数位对调;小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分;分数反转是把分母的数反转,再把分子的数反转,不交换分子与分母;百分数的分子一定是整数,百分数只改变数字部分。整数新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零;小数新数的末尾不为0(除非小数部分除了0没有别的数,那么只保留1个0);分数不约分,分子和分母都不是小数(约分滴童鞋抱歉了,不能过哦。输入数据保证分母不为0),本次没有负数。


输入输出格式

输入格式:

一个数s

输出格式:

一个数,即s的反转数


思路 

(因为它最多可能很多位数而且有符号所以就用字符串啦)

1、首先我们定义一个字符串,再定义一个flag标记(this sign is very important!)

2、读入字符串(不知道getline的看这里,不会的话用cin也可以)//来自cgp大佬的c++字符串详解

3、从这个首位开始for循环,找到符号的话我们就把flag赋值,下代码中有解析,如果没有符号的话就是纯数字,此时flag的值还是为0,直接反序输出即可

4、如果flag的值发生改变,就对其进行相应的操作

5、操作完输出就可以啦!

(详细的解析见代码)


上代码

 

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;string s;
int flag=0;//标记
int d;
//d这个变量我本想放在if语句中,但是发现编译不过,就放在了外面int main() {getline(cin,s);int l=s.length();for(int i=0; i<l; i++) {//赋值给d时d的值为i-1是因为s[i]为符号,应该赋值给符号的前一位//而这个数是百分数时不赋值是因为百分号肯定是最后一位,不用分开处理if(s[i]=='/') {flag=1;d=i-1;break;}if(s[i]=='%') {flag=2;break;}if(s[i]=='.') {flag=3;d=i-1;break;}}if(flag==1)//是分数的情况 
    {int len=d+1;//这是为了分成两段处理而定义的len//因为d的值可能会发生改变,所以用len代表d的下一位,也就是这个符号——‘/’while(s[d]=='0') d--;//去除前导零if(d<0)cout<<'0';//如果前半段都是0的话,d的值就会变成-1,这时我们要输出‘0’,自然下面这一步就不会执行了,没有影响for(int i=d; i>=0; i--) cout<<s[i];//倒着输出来printf("/");//中间的字符while(s[l-1]=='0') l--;//去除前导零//因为后半段是分母,题目中说分母不会为0,所以不用特判这里啦!for(int i=l-1; i>len; i--) cout<<s[i];//倒着输出来return 0;//程序直接结束}//是分数的话处理不是很难,也不是很简单,因为它的分母不是0,也不用约分,所以并不是很难if(flag==2)//是百分数的情况 
    {int len=s.length()-2;//这里的len为字符串长度减2是因为还有一个符号是百分号while(s[len]=='0') len--;//去除前导零if(len<0)cout<<'0';//如果都是0的话,len的值就会变成-1,输出‘0’,下面这一步就不再执行,没有影响for(int i=len; i>=0; i--) cout<<s[i];//倒着输出来......cout<<'%';//最后输出百分号return 0;//程序直接结束}//百分数的处理方式很简单,就把它当成数字倒序输出来,再输出一个百分号就可以啦if(flag==3)//是小数的情况 
    {int len=d+1;//同flag=1的情况while(s[d]=='0') d--;//删前导零if(d<0)cout<<'0';//同flag=1的情况for(int i=d; i>=0; i--) cout<<s[i];//倒着输出前半段printf(".");//中间的字符while(s[l]=='0') l--;//删前导零len++;//如果不加1就变成判断字符,下面的while语句直接不执行while(s[len]=='0') len++;//删除小数后面的零len--;//len--,为了进行比较if(l-1==len)cout<<'0';//如果len和l-1的值相等了,说明小数点右边都是零,直接输出0for(int i=l-1; i>len; i--) cout<<s[i];//把它输出来return 0;//结束程序}//自认为是最难的情况,因为整数部分和小数部分都要处理和特判0的情况,而且小数部分最后还不能是零if(flag==0) {int len=s.length()-1;while(s[len]=='0') len--;for(int i=len; i>=0; i--) cout<<s[i];if(len<0)cout<<'0';return 0;}//自认为最简单的一种情况,就不说了
}

 

转载于:https://www.cnblogs.com/loceaner/p/loceaner_p1553.html

http://www.lbrq.cn/news/2774233.html

相关文章:

  • 大连建设工程信息网改名为什么seo优化关键词是什么意思
  • 怎么到百度做网站山东服务好的seo
  • 做网站用vs还是dw武汉seo外包平台
  • 仓山网站建设厦门seo结算
  • 怎么做校园表白网站推广码怎么填
  • 人妖手术是怎么做的视频网站百度推广点击收费标准
  • 广告位网站模板软文广告经典案例100字
  • 景区网站建设策划标题关键词优化报价
  • 做seo网站营销推广广州市网络seo外包
  • 公司网站维护费 入什么科目安卓优化大师hd
  • 建设高端网站公司网站优化检测
  • 品牌包装建设网站互联网广告是做什么的
  • 网站上的图片格式怎么做接app推广
  • 建设网站的策划书互联网平台推广怎么做
  • 京东店铺买卖平台seo关键词的优化技巧
  • 网站后台上传图片做难吗?域名怎么注册
  • 简单的网站设计div css盒子友情链接官网
  • 广州新塘建网站宁波网络推广方式
  • 个人做动漫资源网站有哪些客户关系管理系统
  • 互联网公司的经营范围有哪些重庆百度搜索优化
  • 崇信县门户网站最新留言重庆关键词自然排名
  • 辽宁城乡建设网站电商的运营模式有几种
  • 网上商城建站服务商刷外链
  • 网站关键词排名优化应该怎么做数字营销课程
  • 做视频网站视频存放问题网络营销网站推广方案
  • 百度推广和网站建设seo排名优化app
  • facebook怎么建设网站酒店机票搜索量暴涨
  • 直播网站开发百度首页登录入口
  • 如何优化网站代码成都网站seo费用
  • 做电影网站违法吗重庆森林经典台词独白
  • RK3568 Linux驱动学习——Linux设备树
  • MySQL练习题50题(附带详细教程)
  • Poisson分布:稀有事件建模的理论基石与演进
  • 自由学习记录(85)
  • 【计算机网络面试】TCP/IP网络模型有哪几层
  • 实时计算 记录