• 编写一个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;
    }

     

     

  • 相关阅读:
    使用闭包的注意点
    JS中的回收机制
    jQuery选择器之样式
    PNRPC 2017-2018 Gym101615I
    Verilog碎碎念
    Codeforces 420D. Cup Trick
    AGC017C. Snuke and Spells
    XVII Open Cup named after E.V. Pankratiev. GP of Tatarstan B. White Triangle
    SPOJ TETRIS2D
    AGC017B. Moderate Differences
  • 原文地址:https://www.cnblogs.com/newpanderking/p/3779086.html
Copyright © 2020-2023  润新知