匹配城市电话号码

来源:互联网 发布:苹果映客主播笑声软件 编辑:程序博客网 时间:2024/05/16 09:14
【测试自动化6】城市电话号码描述:

某城市电话号码由三部分组成,分别是:

地区码:空白或者三位数字;

前缀:非0开头的三位数字

后缀:4位数字

假定被测程序能接受一切符合上述规定的电话号码,输出0

拒绝一切不符合规定的电话号码,输出1.

请编写程序实现上述描述的功能.

运行时间限制:10 Sec内存限制:200 MByte输入:

地区码:空白或者三位数字;

前缀:非0开头的三位数字

后缀:4位数字

输出:

0或者1

样例输入:
1111111111
样例输出:
0
我的代码如下:
#include <iostream>using namespace std;bool isnumber(char n){//if(((n - '0') >= 0) && ((n - '0') <= 9))return true;elsereturn false;}int main(){char num1[10];char num2[10];char num3[10];int ok;cin.getline(num1,10,'\n');cin.getline(num2,10,'\n');cin.getline(num3,10,'\n');int len1 = strlen(num1);int len2 = strlen(num2);int len3 = strlen(num3);if((!((len1 == 3) || (len1 == 0)))|| (len2 != 3) || (len3 != 4)){ok =1;cout << ok << endl;return 0;}if((num1[0] == '\0')||(isnumber(num1[0]) && isnumber(num1[1]) && isnumber(num1[2]))){if(isnumber(num2[0]) && ((num2[0] - '0') != 0)){if(isnumber(num2[1]) && isnumber(num2[2])){for(int i = 0;i < 4;i++){if(!isnumber(num3[i])){ok = 1;cout << ok <<endl;                    return 0;}}ok = 0;}elseok = 1;}elseok = 1;}else ok = 1;cout << ok <<endl;return 0;}

0 0