摘要:希赛网为大家整理了2017上半年程序员考试案例分析真题,以下为第二部分。试题二(共15分)阅读下列说明和C函数,填补函数中的空缺,将解答填入答案纸的对应栏目内。【说明】函数isLegal(
希赛网为大家整理了2017上半年程序员考试案例分析真题,以下为第二部分。
试题二(共15分)
阅读下列说明和C函数,填补函数中的空缺,将解答填入答案纸的对应栏目内。
【说明】
函数isLegal(char*ipaddr)的功能是判断以点分十进制数表示的iPV4地址是否合法。参数ipadddr给出表示iPV4地址的字符串的首地址,串中仅含数字字符和“.”。若iPV4地址合法则返回1,否则反馈0.判定伟合法的条件是:每个十进制数的值位于整数区间[0,25],两个相邻的树之间用“.”分隔,共4个数、3个“.”。;例如,192.168.0.15、1.0.0.1是合法的,192.168.1.256、1.1..1是不合法的。
【函数】
int isLegal(char*ipaddr)
﹛
int flag;
int cur Val;//curVal表示分析出的一个十进制数
int decNum=0,dotNum=0;//decNum用于记录十进制数的个数
//dotNum用户记录点的个数
Char*p=()
for(;*p;p++)﹛
curVal=0;flag=0
While(isdigit(*p))﹛//判断是否伟数字字符
CurVal=()+*p-′0′;
()
flag=1;
﹜
if(curVal>255)﹛
return 0;
﹜
if(flag)﹛
()
﹜if(*p=′.′﹛
dotNum++;
﹜
﹜
if()﹛
return 1;
﹜
return 0;
﹜
>>>>返回目录:2017上半年程序员考试真题(汇总)
>>>>进入估分:2017上半年软考分数早知道,在线估分+真题解析
>>>>点击查看:2017上半年程序员上午真题答案和解析
软考备考资料免费领取
去领取