编写一个C语言函数,要求输入一个url,输出该url是首页、目录页或者其他url
首页、目录页或者其他url
如下形式叫做首页:
militia.info/
www.apcnc.com.cn/
http://www.cyjzs.comwww.greena888.com/
www.800cool.net/
http://hgh-products.my-age.net/
如下形式叫做目录页:
thursdaythree.net/greenhouses--gas-global-green-house-warming/
http://www.mw.net.tw/user/tgk5ar1r/profile/
http://www.szeasy.com/food/yszt/chunjie/
www.fuckingjapanese.com/Reality/
请注意:
a)url有可能带http头也有可能不带
b)动态url(即含有"?"的url)的一律不算目录页,如:
www.buddhismcity.net/utility/mailit.php?l=/activity/details/3135/
www.buddhismcity.net/utility/mailit.php?l=/activity/details/2449/
另:如果你会linux,请用linux下的grep命令实现第2题的功能(附加5分)。
/************************************************************************* > File Name: urlCheck.c > Author: Jason > Created Time: 2014年06月09日 星期一 23时27分33秒 ************************************************************************/ #include<stdio.h> //判断url 如果返回1 则说明是 主页,返回2 目录页,返回3 其他。 int checkUrl(char *url) { char *src = url; int i, len = strlen(src); int flag = 1; for(i = len-2;i >= 0;i--) { if(src[i]=='?')return 3; if(src[i]=='/'&&src[i+1]=='/')i--; if(src[i]=='/'&&src[i-1]!='/')flag = 2; } return flag; } int main() { char str[100];//假设输入的字符串不会长于100; while(1){ scanf("%s",str); int flag = checkUrl(str); if(flag==1) printf("%s 首页 ",str); else if(flag==2) printf("%s 目录页 ",str); else if(flag==3) printf("%s 其他 ",str); else break; } return 0; }