POJ 1028.Web Navigation

一道经典的模拟题目,比较麻烦,不确定按照现在的水平还能不能做出来了。。。

这个题主要是需要“指针”(不是平常说的那个指针),一个指向当前,一个指向去哪

题目大意:有几个网页,题目给出向前向后的操作,要求输出所到达的那个网页

题目链接

#include <iostream>
#include <cstring>
using namespace std;
int main(void)
{
	char s[1005][105];
	s[0][0] = 'h';
	s[0][1] = 't'; 
	s[0][2] = 't';
	s[0][3] = 'p';
	s[0][4] = ':';
	s[0][5] = '/';
	s[0][6] = '/';
	s[0][7] = 'w';
	s[0][8] = 'w';
	s[0][9] = 'w';
	s[0][10] = '.';
	s[0][11] = 'a';
	s[0][12] = 'c';
	s[0][13] = 'm';
	s[0][14] = '.';
	s[0][15] = 'o';
	s[0][16] = 'r';
	s[0][17] = 'g';
	s[0][18] = '/';
	
//	printf("%s",s[0]);
	char temp[105];
	//需要两个“指针” 一个指向当前 一个指向要去哪 
	int i=0;
	int j=0;
	while(1)//模拟执行完毕 开始改进输入 
	{
		gets(temp);
		if(temp[0]=='Q')	break;
		if(temp[0]=='V')
		{
		//	printf("-------%s\n",temp);
			for(int k=6;k<strlen(temp);k++)
			{
				printf("%c",temp[k]);
			 } 
			 printf("\n");
			i = j;
			strcpy(s[++i],temp); 
			j++;
		//	i = j;
		}
		if(temp[0]=='F')
		{
			j++;
			if(j>i)
			{
				printf("Ignored\n");
				 j = i; 
				continue;
			}
		//	printf("-------%s\n",s[j]); 
			if(j==0)	printf("%s",s[0]);
			else
				for(int k=6;k<strlen(s[j]);k++)
				{
					printf("%c",s[j][k]);
				}
			printf("\n");
		}
		if(temp[0]=='B')
		{
			j--;
		//	i = j;
			if(j<0)
			{
				printf("Ignored\n");
				j = 0;
				continue;
			}
			//printf("-------%s\n",s[j]);
			if(j==0)	printf("%s",s[0]);
			else
				for(int k=6;k<strlen(s[j]);k++)
				{
					printf("%c",s[j][k]);
				}
			printf("\n");
		//	i = j;//清空掉剩余的? 
		}
		if(temp[0]=='C')
		{
			for(int p=0;p<=i;p++)
			{
				printf("Check:%s\n",s[p]);
			}
		}
	}
} 	

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值