Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 确定网络提供商的查询_C_Dev C++ - Fatal编程技术网

C 确定网络提供商的查询

C 确定网络提供商的查询,c,dev-c++,C,Dev C++,我应该创建一个查询来确定一个11位数手机号码的网络 如果手机号码以0916或0917开头,则显示Network G 如果以0918或0920开头,则显示网络S 如果以0922或0923开头,则显示网络A 但它总是打印网络G。请帮帮我 #include<stdio.h> #include<conio.h> int main() { int MobNum; printf("Enter11 digit mobile number: "); sca

我应该创建一个查询来确定一个11位数手机号码的网络

  • 如果手机号码以
    0916
    0917
    开头,则显示
    Network G
  • 如果以
    0918
    0920
    开头,则显示
    网络S
  • 如果以
    0922
    0923
    开头,则显示
    网络A
但它总是打印
网络G
。请帮帮我

#include<stdio.h>
#include<conio.h>

int main()
{
    int MobNum;

    printf("Enter11 digit mobile number: ");
    scanf("%i", &MobNum);

    if (MobNum>= 9160000000 || MobNum<= 9179999999)
        printf("Network G");

    else
    if (MobNum>= 9180000000 || MobNum<= 9209999999)
        printf("Network S");

    else
    if (MobNum>= 9220000000 || MobNum<= 9239999999)
        printf("Network A");

    else
        printf("Invalid provider");

    getch();

}
#包括
#包括
int main()
{
int MobNum;
printf(“输入11位手机号码:”);
scanf(“%i”和&MobNum);
如果(MobNum>=9160000000 | | MobNum=918000000 | | MobNum=9220000000 | | | MobNum您的测试使用的是or(
| |
),而不是and(
&
)。请考虑一下:所有测试的数字都将大于
916000000
或小于
917999999

    if (MobNum>= 9160000000 || MobNum<= 9179999999)
    printf("Network G");

if(MobNum>=9160000000 | | MobNum=9160000000&&MobNumYou还应该补充一点,在
int
中存储90亿可能会溢出。一个32位
int
只会达到20亿。嗯,尽管整个方法确实是错误的。电话号码实际上不是数字,所以我将前缀提取为字符串,然后执行一个t可比性。
    if (MobNum>= 9160000000 && MobNum<= 9179999999)
    printf("Network G");