关于字符串与指针的问题
如题完成函数fun,其功能为
字符串x是否为给定的3位区段号a的可能的手机号码。
是,返回1
否则返回0
主要问题还是字符串不太会,求解惑,谢谢大佬啦{:10_266:}
题目要求:在/**********Begin**********/和/**********End**********/之间输入代码
#include <stdio.h>
#include <string.h>
int fun(char *x, char *a)
{
/**********Begin**********/
/**********End**********/
}
int main()
{
int i,num,k;
char a, aa;
printf("请输入一个字符串,判断是否可能电话号码:");
gets(a);
printf("请输入一个字符串,区号:");
gets(aa);
printf("返回:%d\n", fun(a, aa) );
return 0;
} int fun(char *x, char *a)
{
/**********Begin**********/
int i , m, n , r = 0 ;
for(n = 0 ; x ; n ++) if(x < '0' || x > '9') break ;
for(m = 0 ; a ; m ++) if(a < '0' || a > '9') break ;
if(m > 0 && n > 0 && n > m && ! x && ! a) {
for(i = 0 ; i < m ; i ++) if(x != a) break ;
if(i == m) r = 1 ;
}
return r ;
/**********End**********/
} jackz007 发表于 2021-12-3 22:31
谢谢大佬,但是这个好像不能检错
忘记加了一些题目要求
题目:完成函数fun,其功能为
字符串x是否为给定的3位区段号a的可能的手机号码。
是,返回1
否则返回0
设:x可能是3位区段号a的手机号码的判断标准为
1. x必须是11位,且均为数字字符
2. x的最前面3位是a,且后面的不能是全0
3. a的长度必须是3,且第一位必须是1
比如
x 13945678901a 139 是
x 12345678901a 123 是
x 13900000000a 139 不是
x 12345678901a 1234 不是
x 07601234567a 0760 不是
x 07601234567a 076 不是
x 1236ab34567a 123 不是
x 01012345678a 010 不是
x 01012345678a 01 不是
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
*********Begin**********和**********End**********不可删除
简单来说就是手机号11位;不能有字母;第一位必须是1;后面8位不能全是0
以上条件通过视为1没通过就是0
页:
[1]