前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数字判断(指针为函数参数)

数字判断(指针为函数参数)

作者头像
叶茂林
发布2023-07-28 21:48:28
1310
发布2023-07-28 21:48:28
举报
文章被收录于专栏:叶子的开发者社区

题目描述

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

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

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

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

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

输入

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

每行输入一个字符串

依次输入t行

输出

每行输出判断结果

输入样例1

3 1234 567a 0890

输出样例1

1234 -1 890

思路分析

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

那我们需要在函数中来完成计算整数和或返回-1的操作。

那就直接挨个判断字符串,碰到不是数字的就直接返回-1输出-1完事,如果是数字,那就减去0的ACII码,和上一个乘以十再加起来完事。

代码

代码语言:javascript
复制
#include<iostream>
#include<string>
using namespace std;
int isNumber(char *s)
{
	int i,value=0;
	for(i=0;s[i];i++)
	{
		if(!(s[i]<='9'&&s[i]>='0'))
		return -1;
		value=value*10+s[i]-'0';
	}
	return value;
}
int main()
{
	int t;
	char s[21];
	cin>>t;
	while(t--)
	{
		cin>>s;
		cout<<isNumber(s)<<endl;
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • 输入
  • 输出
  • 输入样例1
  • 输出样例1
  • 思路分析
  • 代码
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档