学了web 就要来做点关于web的题目(神逻辑)……
题目链接:http://acm.nbut.cn/Problem/view.xhtml?id=1093
题目大意就是 你要输入好多好多的字符串 其中可能有些是tag(标签),也就是我们要特别考虑的,要注意的是<br>和<hr>的区别,还有<hr>是否在首行开头的区别,注意一行最多80个字符,假如现在这行有78个,你还有一个字符串要5个长度,只能在下一行了,其它也就没什么了
代码:
#include<iostream>
#include<cstring>
using namespace std;
char html[100];
char htm[11100];
int main()
{
int i,t=0,flag=1,len=0,str;
while(cin>>html)
{
if( !strcmp(html,"<br>"))
{
htm[t++]='\n';
flag=1; //flag用来标记是否在一行的开头
len=0; //len是指这一行的字符串的长度
}
else if( !strcmp(html,"<hr>"))
{
if(flag==0)
htm[t++]='\n';
for(i=0;i<80;i++)
htm[t++]='-';
htm[t++]='\n';
flag=1;
len=0;
}
else
{
str=strlen(html);
if( str+len+1 >80 ) //这边的+1 是指2个字符串之间的空格 不要忘记了
{
htm[t++]='\n';
for(i=0;html[i]!='\0';i++)
{
htm[t++]=html[i];
}
len=str;
flag=0;
}
else
{
if(flag==0)
htm[t++]=' ';
for(i=0;html[i]!='\0';i++)
{
htm[t++]=html[i];
}
len+=str+1;
flag=0;
}
}
}
cout<<htm<<endl;
}
PS:1097html again等待大神解救我 TLE中、、、
题目链接:http://acm.nbut.cn/Problem/view.xhtml?id=1093
题目大意就是 你要输入好多好多的字符串 其中可能有些是tag(标签),也就是我们要特别考虑的,要注意的是<br>和<hr>的区别,还有<hr>是否在首行开头的区别,注意一行最多80个字符,假如现在这行有78个,你还有一个字符串要5个长度,只能在下一行了,其它也就没什么了
代码:
#include<iostream>
#include<cstring>
using namespace std;
char html[100];
char htm[11100];
int main()
{
int i,t=0,flag=1,len=0,str;
while(cin>>html)
{
if( !strcmp(html,"<br>"))
{
htm[t++]='\n';
flag=1; //flag用来标记是否在一行的开头
len=0; //len是指这一行的字符串的长度
}
else if( !strcmp(html,"<hr>"))
{
if(flag==0)
htm[t++]='\n';
for(i=0;i<80;i++)
htm[t++]='-';
htm[t++]='\n';
flag=1;
len=0;
}
else
{
str=strlen(html);
if( str+len+1 >80 ) //这边的+1 是指2个字符串之间的空格 不要忘记了
{
htm[t++]='\n';
for(i=0;html[i]!='\0';i++)
{
htm[t++]=html[i];
}
len=str;
flag=0;
}
else
{
if(flag==0)
htm[t++]=' ';
for(i=0;html[i]!='\0';i++)
{
htm[t++]=html[i];
}
len+=str+1;
flag=0;
}
}
}
cout<<htm<<endl;
}
PS:1097html again等待大神解救我 TLE中、、、