您的位置:首页 > 编程语言 > C语言/C++

编写一个C语言函数,要求输入一个url,输出该url是首页、目录页或者其他url

2014-06-09 23:57 281 查看
编写一个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\t首页\n",str);
else if(flag==2)
printf("%s\t目录页\n",str);
else if(flag==3)
printf("%s\t其他\n",str);
else break;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐