一、题目描述
手机号码是一串数字,长度为 11 位,并且第一位必须是 1,现在给出一个字符串,需判断这个字符串是否符合手机格式。若该字符串符合手机号码格式,输出 1,否则输出 0。
c++程序要求输入输出格式如下:
输入:12387605467 输出:1
输入:123hgjk6575 输出:0
二、思路
直接用string接收输入的数据,然后从长度,首位数据是不是’1’,以及逐个判断是不是数字三个方面考虑。
三、C++代码
#include<bits/stdc++.h>
using namespace std;
//判断字符串是否是手机号码
bool check(string s){
if(s.size()!=11){ //数据长度判断
return false;
}
if(s[0]!='1'){ //首位数据判断
return false;
}
for(int i=0;i<s.size();i++){ //逐个判断是不是数字
if(s[i] < '0' || s[i] > '9'){
return false;
}
}
return true;
}
int main(){
string s;
getline(cin,s); //完成读入一行数据
if(check(s)){
cout<<"1";
}else{
cout<<"0";
}
}