他来了!他又来了!关于手机号码是否符合格式,难道不是先判断是否是11位,然后判断开头是否是1吗?

手机号码是一串长度为11位的数字,并且第一位必须是1。现在给出一个字符串,我们需要判断这个字符串是否符合手机格式。

img

int n,a[n]是什么操作呀,n都没有值,不能这么声明数组,其次题目输入的是字符串,而不是数字,要接收这整个字符串的话,得使用字符数组,建议不使用long long这种过大的整数类型,虽然能存11位,但有可能给出的数字几十位,或者字符串中含有非数字的其他字符

试试这种方法

#include<stdio.h>
int main()
{
    int i, n[i];
    for (i = 0;; i++)
    {
        n[i] = getchar();
        if (n[i] == '\n')
            break;
    }
    if (i == 11 && n[0] == 49)
        printf("1");
    else
        printf("0");
    return 0;
}