任务08_2 手机号验证
10
丁盟
开始于 2016-05-25 14:57
0 37 350
已截止

任务尚未发布或者你没有权限查看任务内容。

任务讨论

/*任务08_2手机号验证
 *姓名:张刘洋
 *学号:369
 *班级:5班
 *日期:2016.06.06
 */

#include <stdio.h>
#include <string.h>

int isPhoneNum(const char * str);
int main(void)
{
    char arr[100];
    do
    {
        printf("请输入一个手机号:");
        scanf("%s", arr);
    } while(isPhoneNum(arr));
    return 0;
}

int isPhoneNum(const char * str)
{
    char * yd[] = {"134","135","136","137","138","139","147","150","151","152","157","158","159","182","187","188"};
    char * lt[] = {"130","131","132","155","156","185","186"};
    char * dx[] = {"133","153","180","189"};
    int i, count;
    char sz[4];
    sz[0] = str[0];
    sz[1] = str[1];
    sz[2] = str[2];
    sz[3] = '\0';
    if(strlen(str) != 11)
    {
        puts("手机号码长度错误!");
        return -1;
    }
    for(i=0; i<11; i++)
    {
        if(str[i]<'0' || str[i]>'9')
        {
            puts("手机号码包含非数字!");
            return -2;
        }
    }
    count = sizeof(yd)/sizeof(char *);
    for(i=0; i<count; i++)
    {
        if(strcmp(sz, yd[i]) == 0)
        {
            puts("您用的移动手机!");
            return 0;
        }
    }
    count = sizeof(lt)/sizeof(char *);
    for(i=0; i<count; i++)
    {
        if(strcmp(sz, lt[i]) == 0)
        {
            puts("您用的联通手机!");
            return 0;
        }
    }
    count = sizeof(dx)/sizeof(char *);
    for(i=0; i<count; i++)
    {
        if(strcmp(sz, dx[i]) == 0)
        {
            puts("您用的电信手机!");
            return 0;
        }
    }
    puts("手机号不属于任意运营商!");
    return -3;
}

/*
 *说明:任务08_2 数组排序
 *姓名:和宝同
 *学号:2015015539
 *班级:8班
 *日期:2016/06/05
*/
#include<stdio.h>
#include <stdlib.h>
#include <string.h>


int phonenum(const char * p)
{
    char * yd[] = {"134","135","136","137","138","139","147","150","151","152","157","158","159","182","187","188"};
    char * lt[] = {"130","131","132","155","156","185","186"};
    char * dx[] = {"133","153","180","189"};
    int i,count;
    char sz[4];
    sz[0] = p[0];
    sz[1] = p[1];
    sz[2] = p[2];
    sz[3] = '\0';
    if(strlen(p) !=11)
    {
        puts("手机号码长度非11位,请重新输入!");
        return -1;
    }

    for(i=0;i<11;i++)
    {
        if (p[i]<0 || p[i]>'9')          
        {
            puts("手机号码不能含有非数字字符,请重新输入!");
            return -2;

        }
    }
    
    count = sizeof(yd)/sizeof(char *);
    for(i=0;i<count;i++)
    {
        if(strcmp(sz,yd[i]) == 0)
        {
            puts("你用的是移动的手机。");
            return 0;
        }
    }
    count = sizeof(lt)/sizeof(char *);
    for(i=0;i<count;i++)
    {
        if(strcmp(sz,lt[i]) == 0)
        {
            puts("你用的是联通的手机。");
            return 0;
        }
    }
    count = sizeof(dx)/sizeof(char *);
    for(i=0;i<count;i++)
    {
        if(strcmp(sz,dx[i]) == 0)
        {
            puts("你用的是电信的手机。");
            return 0;
        }
    }

}
int main (void)
{
    char arr[100];

     printf("请输入一个手机号:");
     scanf("%s",arr);
     phonenum(arr);

    system("pause");
    return 0;
}


发错位置了 = =
/*
 *说明:任务08_2 数组排序
 *姓名:刘洋
 *学号:2015015357
 *班级:5班
 *日期:2016/05/26
*/

#include <stdio.h>
#include <string.h>

int main(void)
{
	char arr[15]={13673137389},d=0;
	int c;
	int i,a=0;
	scanf("%s",&arr);
	for(i=0;i<1;i++)
		{
	if(strlen(arr)<11)
	printf("手机号码长度小于11位,请重新输入!");
	else if(strlen(arr)>11)
	printf("手机号码长度大于11位,请重新输入!");
	else
			{
		for(i=0;i<11;i++)
				{
			if(arr[i]>='0' && arr[i]<='9')
				;
			else
				{
					printf("手机号码不能含有非数字字符,请重新输入!");
					d=d+1;
					break;
				}
				}
			}
	if(d!=0)
		break;
	c = (arr[0]-48) * 100 + (arr[1]-48) * 10 + (arr[2]-48);
	if(c == 134 || c == 135 || c == 136 || c == 137 || c == 138 || c == 139 || c == 147 || c == 150 || c == 151 || c == 152 || c == 157 || c == 158 || c == 159 || c == 182 || c == 187 || c == 188)
			{
		if((c>=134 && c<=139)||c==147||(c>=150 && c<=152)||(c>=157 && c<=159)||c==182||c==187||c==188)
			printf("你用的是移动的手机。");
		else if(c == 130 || c == 131 || c == 132 || c == 155 || c == 156 || c == 185 || c == 186)
			printf("你用的是联通的手机。");
		else if(c == 133 || c == 153 || c == 180 || c == 189)
			printf("你用的是电信的手机。");

			}
			else
				{
				printf("没有这样的号码,请重新输入!");
				break;
				}
		return 0;
		}
}