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

2023-07-28 21:48:28 浏览数 (1)

题目描述

输入一个字符串,判断这个字符串是否一个完全整数值的字符串,例如输入"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;
	}
}

0 人点赞