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

编写一个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/

 

请注意:

 

 aurl有可能带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;
}

 

 

原文地址:https://www.cnblogs.com/newpanderking/p/3779086.html