输入一串字符,并验证其是否为正确的电话号码。 长度必须为 11 位 第一位必须为 1,第二位为 3、5、6、8 中得一个,其余位必须为 0-9 中的一个数。
代码:
#include <iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
void legal(char ch[]){
int len=strlen(ch);
int flag=0;
if(len!=11) flag=0;
else{
if(ch[0]=='1'&&(ch[1]=='3'||ch[1]=='5'||ch[1]=='6'||ch[1]=='8')){
for(int i=2;i<11;i++){
if(ch[i]>='0'&&ch[i]<='9'){
flag=1;//失误:if-else没配套,可能是有break的缘故
}
else{
flag=0;
break;
}
}
}
else flag=0;
}
if(flag==0) cout<<"No!"<<endl;
if(flag==1) cout<<"Yes!"<<endl;
}
int main(){
char phone[20];
while(gets(phone)){
legal(phone);
}
return 0;
}