[AT_past202107_c] 入力チェック 题解

题目传送门 \color{orangered}\text{题目传送门} 题目传送门

题意很清楚,我们直接讲做法。

为了更好的进行判断,我们将 s , l , r s,l,r s,l,r 均定义为 string 类型的。

判断:

  1. 如果 s s s 的第一位是 0 s s s 的长度大于 1 1 1 ,说明 s s s 有前导零,直接输出 No

    代码:

    if(s[0]=='0'&&s.size()>1) printf("No\n");
    
  2. 如果 s s s 的长度小于 l l l 的长度或者大于 r r r 的长度,说明 s s s 肯定不在 l l l r r r 之间。(注意:此时已经判断过有前导零的情况,所以不必担心前导零占位)。

    代码:

    else if(s.size()<l.size()||s.size()>r.size()) printf("No\n");
    
  3. 特殊的情况已经判断完了,现在来判断 s s s 是否大于等于 l l l 且小于等于 r r r

    因为 s , l , r s,l,r s,l,r 都被定义为 string 类型的,所以这里需要手写一个函数,将字符串转换为整形。
    这里讲解的方法可以参见作者的文章:浅谈整形与字符串之间的转换(c++)

    转换代码:

    int string_to_int(string s)
     {
     int n=0;
     int len=0;
     for(int i=s.size()-1;i>=0;i--)
     {
     	n+=(s[i]-'0')*pow(10,len);
     	len++;
     }
     return n;//返回一个整形类型的数
     }
    

    判断代码:

    else
     {
     	if(string_to_int(s)>=string_to_int(l)&&string_to_int(s)<=string_to_int(r)) printf("Yes\n");
     	else printf("No\n");
     }
    

本题完整代码

相关推荐

  1. [AT_past202107_c] 题解

    2024-07-22 01:36:04       22 阅读
  2. P3654 First Step (ファーストステプ)题解

    2024-07-22 01:36:04       48 阅读
  3. 题库)跳跃游戏II(C++)

    2024-07-22 01:36:04       32 阅读
  4. 题库)字符串相乘(C++)

    2024-07-22 01:36:04       43 阅读
  5. [题解]

    2024-07-22 01:36:04       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 01:36:04       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 01:36:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 01:36:04       45 阅读
  4. Python语言-面向对象

    2024-07-22 01:36:04       55 阅读

热门阅读

  1. c语言--使用共用体判断一个机器的大小端模式

    2024-07-22 01:36:04       19 阅读
  2. linux 安装 大模型ollama

    2024-07-22 01:36:04       16 阅读
  3. 349. 两个数组的交集

    2024-07-22 01:36:04       17 阅读
  4. C# ORM框架-Entity Framework Core

    2024-07-22 01:36:04       22 阅读
  5. vue排序

    2024-07-22 01:36:04       17 阅读
  6. 项目架构图的最佳实践:绘制、维护与示例

    2024-07-22 01:36:04       20 阅读
  7. C++多态

    C++多态

    2024-07-22 01:36:04      19 阅读
  8. Nginx 不转发请求 IP

    2024-07-22 01:36:04       22 阅读
  9. ctfshow web AK杯

    2024-07-22 01:36:04       17 阅读