C 确定网络提供商的查询
我应该创建一个查询来确定一个11位数手机号码的网络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
- 如果手机号码以
或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");