Error[8]: Undefined offset: 36, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 114
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

Description

lrc是英文lyric(歌词)的缩写,被用做歌词文件的扩展名。以lrc为扩展名的歌词文件可以在各类数码播放器中同步显示。LRC 歌词是一种包含着“*:*”形式的“标签(tag)”的、基于纯文本的歌词专用格式。这种歌词文件既可以用来实现卡拉OK功能(需要专门程序),又能以普通的文字处理软件查看、编辑。当然,实际 *** 作时通常是用专门的LRC歌词编辑软件进行高效编辑的。

 lrc中的时间标签:

形式为"[mm:ss]"或"[mm:ss.ff]"(分钟数:秒数)。数字须为非负整数, 比如"[12:34.5]""[12:34]"。 它可以位于某行歌词中的任意位置。一行歌词可以包含多个时间标签(比如歌词中的迭句部分)。根据这些时间标签,用户端程序会按顺序依次高亮显示歌词,从而实现卡拉OK功能。另外,标签无须排序。

现在给你lrc的时间标签请按时间排序输出歌词(歌词可以有空格但不会有[]);

Input

只有一个案例,案例为一个lrc标签文件,用EOF结束,一行一个时间标签,歌词长度不超过100

Output

按时间排序输出歌词,歌词的格式为"[hh:mm.ss]"+歌词

Sample Input

[00:00.00][00:45]hello

[00:10]world

Sample Output

[00:00.00]hello

[00:10.00]world

[00:45.00]hello

解析:利用gets()一直输入,利用 ']' 来确定一个时间段的结束,然后存进结构体,最后while外面排序一下,输出即可。

#include 
using namespace std;
struct su{
	int h;	//记录分 
	int f;	//记录秒 
	int s;	//记录毫秒 
	char ci[105];	//记录歌词 
	bool operator<(const su&x)const{
		return (h*3600+f*60+s)<(x.h*3600+x.f*60+x.s); 
	}
}arr[10005];
char k[1005],h[105];	//k[]来记录输入的全部,h[]记录歌词 
int main()
{
	int len,biaoji,m,i,cnt,shu,l=0;
	while(gets(k)!=NULL){
		len=strlen(k);
		memset(h,'<=biaoji;i++){		//biaoji为最末尾的']',终点 
			if(k[i]>',sizeof(h)); //清空,不然会残留导致WA 
		m=0;
		for(i=len-1;i>=0;i--){	//先反向求出歌词 
			if(k[i]==']'){
				biaoji=i;	//到了歌词左边第一个']',退出 
				break;
			}
			h[m++]=k[i];	//先反向存下来,后面直接反转就是歌词 
		}
		reverse(h,h+m);	//反转,记录歌词 
		shu=0;		//记录数值  
		for(i=0;i<='9') shu=shu*10+k[i]-'0';
			if(k[i]==':') arr[l].h=shu,shu=0,cnt=0;	//遇见':',存入结构体的分 
			if(k[i]=='.') cnt=1,arr[l].f=shu,shu=0;	//cnt改为1,表示出现'.',存入秒 
			if(k[i]==']'&&cnt==1) arr[l].s=shu,shu=0,strcpy(arr[l].ci,h),l++;//如果出现'.',记录毫秒 
			else if(k[i]==']'&&cnt==0) arr[l].f=shu,arr[l].s=0,strcpy(arr[l].ci,h),l++;//如果没有出现'.',那么毫秒就是0 
		}
	}
	sort(arr,arr+l);
	for(i=0;i='0'&&k[i]

<===>)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
ZCMU--1554: AAAAA_C_内存溢出

ZCMU--1554: AAAAA

ZCMU--1554: AAAAA,第1张

Description

lrc是英文lyric(歌词)的缩写,被用做歌词文件的扩展名。以lrc为扩展名的歌词文件可以在各类数码播放器中同步显示。LRC 歌词是一种包含着“*:*”形式的“标签(tag)”的、基于纯文本的歌词专用格式。这种歌词文件既可以用来实现卡拉OK功能(需要专门程序),又能以普通的文字处理软件查看、编辑。当然,实际 *** 作时通常是用专门的LRC歌词编辑软件进行高效编辑的。

 lrc中的时间标签:

形式为"[mm:ss]"或"[mm:ss.ff]"(分钟数:秒数)。数字须为非负整数, 比如"[12:34.5]""[12:34]"。 它可以位于某行歌词中的任意位置。一行歌词可以包含多个时间标签(比如歌词中的迭句部分)。根据这些时间标签,用户端程序会按顺序依次高亮显示歌词,从而实现卡拉OK功能。另外,标签无须排序。

现在给你lrc的时间标签请按时间排序输出歌词(歌词可以有空格但不会有[]);

Input

只有一个案例,案例为一个lrc标签文件,用EOF结束,一行一个时间标签,歌词长度不超过100

Output

按时间排序输出歌词,歌词的格式为"[hh:mm.ss]"+歌词

Sample Input

[00:00.00][00:45]hello

[00:10]world

Sample Output

[00:00.00]hello

[00:10.00]world

[00:45.00]hello

解析:利用gets()一直输入,利用 ']' 来确定一个时间段的结束,然后存进结构体,最后while外面排序一下,输出即可。

#include 
using namespace std;
struct su{
	int h;	//记录分 
	int f;	//记录秒 
	int s;	//记录毫秒 
	char ci[105];	//记录歌词 
	bool operator<(const su&x)const{
		return (h*3600+f*60+s)<(x.h*3600+x.f*60+x.s); 
	}
}arr[10005];
char k[1005],h[105];	//k[]来记录输入的全部,h[]记录歌词 
int main()
{
	int len,biaoji,m,i,cnt,shu,l=0;
	while(gets(k)!=NULL){
		len=strlen(k);
		memset(h,'<=biaoji;i++){		//biaoji为最末尾的']',终点 
			if(k[i]>',sizeof(h)); //清空,不然会残留导致WA 
		m=0;
		for(i=len-1;i>=0;i--){	//先反向求出歌词 
			if(k[i]==']'){
				biaoji=i;	//到了歌词左边第一个']',退出 
				break;
			}
			h[m++]=k[i];	//先反向存下来,后面直接反转就是歌词 
		}
		reverse(h,h+m);	//反转,记录歌词 
		shu=0;		//记录数值  
		for(i=0;i<='9') shu=shu*10+k[i]-'0';
			if(k[i]==':') arr[l].h=shu,shu=0,cnt=0;	//遇见':',存入结构体的分 
			if(k[i]=='.') cnt=1,arr[l].f=shu,shu=0;	//cnt改为1,表示出现'.',存入秒 
			if(k[i]==']'&&cnt==1) arr[l].s=shu,shu=0,strcpy(arr[l].ci,h),l++;//如果出现'.',记录毫秒 
			else if(k[i]==']'&&cnt==0) arr[l].f=shu,arr[l].s=0,strcpy(arr[l].ci,h),l++;//如果没有出现'.',那么毫秒就是0 
		}
	}
	sort(arr,arr+l);
	for(i=0;i='0'&&k[i]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/867933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)