数字判断

2023-10-28

数字判断(指针为函数参数)
题目描述

输入一个字符串,判断这个字符串是否一个完全整数值的字符串,例如输入"1234",那么表示整数1234,输入"12a3"就表示只是一个字符串,不是一个整数

要求编写函数isNumber,参数是一个字符指针,返回值是整数类型

如果字符串表示一个整数,则计算出这个整数并且返回

如果字符串不是表示一个整数,则返回-1

主函数必须调用isNumber来判断字符串,不能使用任何C++自带或第三方的类似函数

输入

输入t表示有t个测试实例

每行输入一个字符串

依次输入t行

输出

每行输出判断结果

示例输入1 <-复制
3
1234
567a
0890

示例输出1
1234
-1
890

#include<iostream>
#include<cstring>
#include<string.h>
using namespace std;
int main(){
	int t;
	cin>>t;
	int isnumber(char *str);
	while(t--){
		char *str=new char[100];
		cin>>str;
		int is=isnumber(str);
		if(is) {
			int len=strlen(str);
			int k=1;
			int sum=0;
			for(int i=len-1;i>=0;i--){
				sum+=k*(int)(*(str + i) - '0');
				k*=10;
			}
			cout<<sum<<endl;
		}
		else	cout<<"-1"<<endl;
		
		
	}
} 
int isnumber(char *str){
	int len=strlen(str);
	int flag=1;
	for(int i=0;i<len;i++){
	if((int)(*(str + i)) - '0'<0||(int)(*(str + i)) - '0'>26){
		flag=0;
	}
	}
	if(flag==1) return 1;
	else return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字判断 的相关文章

  • 怎么理解KMP算法中的next数组(为甚有时候加一有时候不加一?)

    KMP算法怎么来的和找规律 以及对于BF算法他的主要区别就不再赘述我们 我们来说一下怎么用最快的速度加上已知规律找到给定字符串的next数组 C语言中和java中都适用 我们已经找到了部分规律 next数组中的值可能和已匹配部分字符串的前缀
  • 1658. 合法标识符

    1658 合法标识符 请判断字符串 str 是不是一个合法的标识符 合法的标识符由字母 A Z a z 数字 0 9 和下划线组成 并且首字符不能为数字 样例 样例 1 输入 str LintCode 输出 true 解释 因为 LintC
  • JAVA中正则表达式的使用

    正则表达式 用法 一 使用正则表达式对String进行匹配 1 控制匹配长度 1 使用 n 来精确控制 2 使用 n 表示大于等于n个 3 使用 m n 控制范围 4 使用 表示可以出现 0次或一次 5 使用 表示可以出现 0次或多次 6
  • 【译】用 `Wasmer` 进行插件开发 1

    译 用 Wasmer 进行插件开发 1 Using Wasmer for Plugins Part 1 译文 原文链接 https wiredforge com blog wasmer plugin pt 1 index html 原文 G
  • 8.翻转子串

    题目描述 假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串 请将这个算法编写成一个函数 给定两个字符串s1和s2 请编写代码检查s2是否为s1旋转而成 要求只能调用一次检查子串的函数 给定两个字符串s1 s2 请返回bool
  • 数据结构和算法(堆排序和哈夫曼树、哈夫曼编码、解码)

    堆排序 一般使用大顶堆升序排列 使用小顶堆降序排列 下图为代码测试的树 数组格式 堆降序代码实现 import java util Arrays public class HeapSort public static void main S
  • C++——大数加法

    大数加法 即运算的数据可能很大 int long long long无法存放 存在字符串中 但是加法的运算规则还是10进制 对于两个字符串 首先判断两者的长度 我们将字符串s设置为较长的字符串 方便后面的运算 也可以将t设置为较长的 从低位
  • XPath提取网页数据(附实例)

    文章目录 一 XPath语法 二 用Python实践 Python爬虫的两个思路 三 三个案例 完整代码 一 XPath语法 借助Chrome浏览器的XPath插件来学习XPath语法 网页测试无误再把规则拿下来写代码 视频学习链接 网络爬
  • 大数(四则运算)

    四则运算 大数加法 高精度加法 大数减法 大数乘法 大数乘法 幂运算 大数乘法 高精度幂运算 大数除法 大数加法 思路 从后往前算 即由低位向高位运算 计算的结果依次添加到结果中去 最后将结果字符串反转 输入的时候两个数都是以字符串的形式输
  • Educoder---Java面向对象 - 集合框架(1)

    第一题 请仔细阅读右侧代码 根据方法内的提示 在Begin End区域内进行代码补充 创建ArrayList集合并且向集合中添加数据 具体要求如下 添加字符串类型数据 https www educoder net 添加double类型数据
  • Java Scanner nextInt()方法与示例

    扫描器类的nextInt 方法 Scanner Class nextInt method Syntax 句法 public int nextInt public int nextInt int rad nextInt method is a
  • 【leetcode 524. 通过删除字母匹配到字典里最长单词】双指针,在不同字符串中同向查找

    解题思路 依旧是双指针 不过双指针在不同字符串中同向查找 且在使用双指针前需要对被查找集合做排序 1 根据题目要求 先将dictionary的字符串按照字符串的长度从大到小排序 且字符串符合字典序 进行排序 目的是为了接下查找时 dicti
  • 对字符串进行正则取子串

    题目是这样的 对一段HTML网页内容 解析出其中所有的键值对 比如其中type text type为属性 text为值 二者为一个键值对 内容如下
  • 【Java数据类型】各种数据类型的相互转换总结

    基础数据类型包括 byte short int long float double char String boolean 在许多场合需要用到它们的相互转换 本文 将介绍几种转换方式 以及对转换方式的原理简要介绍 文章目录 法则与特性 字节
  • jFinal框架下controller接参

    一 表单参数 1 前端 contentType x www form urlencoded 2 apipost接口测试 3 controller接参 1 注解 getPara获取参数 2 注解 默认参数 若方法的参数名为注解名 则jFina
  • Java中占位符的实战运用

    java中的占位符 有以下几种等等 s字符串类型的占位符 b布尔类型的占位符 d整数类型的占位符 c字符类型的占位符 我们大多情况就只用前两种 举个例子 Created by xiwen on 2021 1 14 Slf4j public
  • Python基础知识(四):一文看懂列表、元组和字符串操作

    序列 序列是具有索引和切片能力的集合 列表 元组和字符串具有通过索引访问某个具体的值 或通过切片返回一段切片的能力 列表 元组 字符串都属于序列 1 列表 列表 List 是Python中非常重要的内置数据类型 列表由一系列元素组成 所有的
  • 【HJ31】 单词倒排

    题目描述 对字符串中的所有单词进行倒排 说明 1 构成单词的字符只有26个大写或小写英文字母 2 非构成单词的字符均视为单词间隔符 3 要求倒排后的单词间隔符以一个空格表示 如果原字符串中相邻单词间有多个间隔符时 倒排转换后也只允许出现一个
  • 天梯赛字符串替换题 “ 6翻了” Python 正则表达式替换

    输入格式 输入在一行中给出一句话 即一个非空字符串 由不超过 1000 个英文字母 数字和空格组成 以回车结束 输出格式 从左到右扫描输入的句子 如果句子中有超过 3 个连续的 6 则将这串连续的 6 替换成 9 但如果有超过 9 个连续的
  • java中null和isEmpty的区别

    isEmpty 分配了内存空间 值为空 是绝对的空 里面的值为空 分配了内存空间 值为空字符串 是相对的空 里面的值为空 null 未分配内存空间 没有值 是一种无值 值不存在 结论 null只能分辨出值是否分配内存空间 isEmpty不能

随机推荐

  • Unity--使用Cinemachine Confiner设置摄像机边界

    使用Cinemachine Confiner设置摄像机边界 前提提要 在做这个功能前需要 main camera 另外一个相机 思路 创建一个对象绑定Polygon Collider2D 边界 然后在另外一个相机Cinemachine Co
  • 嵌入式Linux:简单的模块源码分析

    目录 1 常用命令 2 insmod与module init宏 这里还有一个知识点 函数修饰符 3 模块的版本信息查看 模块中常用宏 printk函数 调试程序是可以用到 打印机别 0 7 关于驱动模块中的头文件 1 常用命令 lsmod
  • Linux 服务器安装配置vsftpd

    一 基础安装阶段 1 查看是否已安装ftp which vsftpd 2 查看ftp状态 service vsftpd status 3 若是以上检查均没有安装ftp 查询是否有可用的rpm安装包 yum list grep vsftpd
  • 通过vcpkg安装、配置 CGAL 5.2.1

    1 背景 CGAL是Computational Geometry Algorithms Library 计算几何算法库 的缩写 用C 语言提供高效 可靠的算法库 被广泛应用于几何计算相关的领域 如信息可视化系统 计算机辅助设计 分子生物学
  • LeetCode20. 有效的括号

    20 有效的括号 给定一个只包括 的字符串 判断字符串是否有效 有效字符串需满足 左括号必须用相同类型的右括号闭合 左括号必须以正确的顺序闭合 注意空字符串可被认为是有效字符串 示例 1 输入 输出 true 示例 2 输入 输出 true
  • Servlet的初始化时期

    初始化时期 概述 默认情况 Servlet在第一次请求时初始化 要求Servlet随着服务器的启动而初始化 这就需要设置servlet的初始化时机 load on startup进行设置 范围1 10 值越小 优先级越大 代码实现 Serv
  • qml中,在ListView中添加滚轮无法展现最后几行数据的问题解决

    这个是我困扰我数几个小时的问题 好不容易知道了如何在LIstView中添加滚轮 然而 当我鼠标滚轮到最后的时候 展现的总不是最后那几行数据 这真的很让人头大 还好有了这次经历 把这个问题记录下来 给那些在qml中遇到同样问题的人 首先介绍我
  • GitHub Atom - 移除编辑器内的竖线

    本文转载至 http stackoverflow com questions 25579775 github atom remove the center line in the editor 这根竖线是由 wrap guide 包提供 如
  • Python3-基础- 包、闭包

    包 包 包是模块的一种形式 包的本质就是含有 py文件的文件夹 模块 模块就是封装好的具有特定功能的函数代码 例如sum 求和函数 py文件的两种功能 1 脚本 一个文件就是完整的程序 用来直接执行 2 模块 一个文件中存放的某些功能函数
  • Bp神经网络

    智能系统课程设计 老师要求做一个识别手写数字的神经网络算法 数据集是Mnist image数据集 在网上找了好多教程 结果仍然不清楚 后来在B站找了个视频才弄懂 传上来代码 以备以后回顾 Minss image newBpLearn cpp
  • 汇编基础(3)---常用汇编指令

    汇编指令集合太多 以下是常用的指令归纳 具体的用法还需要进一步整理 一 数据传输指令 它们在存贮器和寄存器 寄存器和输入输出端口之间传送数据 1 通用数据传送指令 MOV 传送字或字节 MOVSX 先符号扩展 再传送 MOVZX 先零扩展
  • 打工族必看!省钱订餐攻略,经本人亲测多日!

    这不是广告哦 不像其他平台一样需要扫码关注等等 我的常用平台是不需要关注的 只要领取即可使用 我已经在这个平台点外卖很久了 几个月了 平常我会在这个平台领取优惠券 和同事一起拼单下单 每个人能省下三四块钱 有时候多的话可以省下七八块钱 这个
  • 精妙布局,乐车邦领跑2017互联网汽车后市场

    2017年的汽车后市场可谓是冰火两重天 上半年资本寒冬持续 行业几乎没有融资新闻 下半年苏宁 京东等互联网巨头动作频频 市场重现热火朝天 冰火的洗礼 让玩家们备受煎熬 许多企业不堪重负 纷纷倒下 但也不乏一些企业愈战愈勇 成立仅2年多的乐车
  • Android SWT机制

    Android SWT机制 Android SystemServer Watchdog Timeout 安卓看门狗超时机制 Watchdog字面上是 看门狗 的意思 有做过嵌入式低层的朋友应该知道 为了防止嵌入式系统MCU里的程序因为干扰而
  • 观察者模式-猫捉老鼠(委托与事件)

    猫捉老鼠是一个典型的观察者模式的实现案例 在其中加入委托与事件的程序实现 将会提高代码的一个可读性 其下是代码实现 创建一个Cat类 using System using System Collections Generic using S
  • 华为OD机试 - 开放日活动、取出尽量少的球(Java)

    题目描述 某部门开展Family Day开放日活动 其中有个从桶里取球的游戏 游戏规则如下 有N个容量一样的小桶等距排开 且每个小桶都默认装了数量不等的小球 每个小桶装的小球数量记录在数组 bucketBallNums 中 游戏开始时 要求
  • Redis-基本数据类型与内部存储结构

    1 概览 Redis是典型的Key Value类型数据库 Key为字符类型 Value的类型常用的为五种类型 String Hash List Set Ordered Set 2 Redis内部内存管理 redisObject 核心对象 R
  • solidity 合约权限授权_智能合约:整数溢出、访问控制缺陷漏洞与跨合约调用漏洞...

    整数溢出 漏洞简介 简单来说 就是Solidity整形变量被赋值高于或者低于可以表示的范围时 值会发生改变 一般会溢出为2的uint类型次方 1 或者 0 上溢 会溢出为0下溢 会溢为2 n 1 如果是uint256 即为 2的256次方
  • Linux系统的常见命令记忆【Ubuntu】

    Linux系统的常见命令记忆 Ubuntu 一 最新的htop 内存 1 安装 2 直接输入htop 二 watch命令 1 有关watch的简介 2 选项说明 3 常用示例 显卡 cpu温度 三 后言 四 查看CPU架构 lscpu 五
  • 数字判断

    数字判断 指针为函数参数 题目描述 输入一个字符串 判断这个字符串是否一个完全整数值的字符串 例如输入 1234 那么表示整数1234 输入 12a3 就表示只是一个字符串 不是一个整数 要求编写函数isNumber 参数是一个字符指针 返