C语言 url分解

题目描述

输入一行有效的url,输出这个url的域名部分

举例:

http://www.baidu.com/hnust.htm

http://www.hnust.com/index.htm

http://www.nuoyar.com

ftp://cs.game.com/xz.rar

其中域名应输出:

www.baidu.com

www.hnust.com

www.nuoyar.com

cs.game.com

输入

有多组测试数据

每组测试数据仅一行,为了简化问题,url只由小写字母以及符号:/.组成,不包含空格,url最长为255,且不包含端口号

输出

对于每组测试数据,输出其完整域名部分,不能包含多余的空格

样例输入 Copy

http://www.baidu.com/hnust.htm
http://www.hnust.com/index.htm
http://www.nuoyar.com
ftp://cs.game.com/xz.rar

样例输出 Copy

www.baidu.com
www.hnust.com
www.nuoyar.com
cs.game.com

提示

可以从开始位置寻找第一个://来确认域名开始位置,然后遍历输出,直到遇到第一个/或者读取到末尾。
所有测试数据都没有端口号,即不存在 http://www.abc.com:8080/index.php 这样的测试数据。

代码

#include <stdio.h>  
#include<string.h>
void put(char *s)
{
	int i,q,h;
	for(i=0;i<strlen(s);i++)
	{
		if(s[i]=='/'&&s[i+1]=='/')
		{
			q=i+2;
			break;
		}
	}
	//q记录开始位置,h记录结束位置
	h=strlen(s)-1;
	
	for(i=q;i<strlen(s);i++)
	{
		if(s[i]=='/')
		{
			h=i-1;
			break;
		}
	}
	for(i=q;i<=h;i++)
		printf("%c",s[i]);
}

int main()
{	
	char s[1000];
	int i;
	while(gets(s)!=NULL)
	{
		put(s);
		printf("\n");
	}
	return 0;
}
发布了47 篇原创文章 · 获赞 29 · 访问量 1488

猜你喜欢

转载自blog.csdn.net/Qianzshuo/article/details/103758531