10361 - Automatic Poetry

/*题目大意:
			给一对字符串
			按原样输出除了'<','>'的第一行字符串
			输出第二行时,交换两个<>的内容*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*第一个问题是把字符串的'<','>'去掉,然后原样输出*/
void toPoetry(const char szStr1[],const char szStr2[])
{
	//char* iPos = strchr(szStr,'<');
	int iLength1 = strlen(szStr1);
	int iLength2 = strlen(szStr2);
	int iPos[4],iCount = 0;
	int i;
	for(i = 0; i < iLength1; i++)
	{
			//查找'<','>'的位置
		if(szStr1[i] == '<' || szStr1[i] == '>')
			iPos[iCount++] = i;
		if(szStr1[i] != '<' && szStr1[i] != '>')
			printf("%c",szStr1[i]);
	}
	printf("\n");

//	printf("%d%d%d%d",iPos[0],iPos[1],iPos[2],iPos[3]);
	for(i = 0; i < iLength2-3; i++)
		printf("%c",szStr2[i]);

	//首先输出iPos[2]~iPos[3]
	for(i  = iPos[2]+1; i < iPos[3]; i++)
		printf("%c",szStr1[i]);
	//输出iPos[1]~iPos[2]
	for(i  = iPos[1]+1; i < iPos[2]; i++)
		printf("%c",szStr1[i]);
	//输出iPos[0]~iPos[1]
	for(i  = iPos[0]+1; i < iPos[1]; i++)
		printf("%c",szStr1[i]);
	//输出iPos[3]~iPos[2]
	for(i  = iPos[3]+1; i < iLength1; i++)
		printf("%c",szStr1[i]);
	printf("\n");
}
int main()
{
	int iCase;
	scanf("%d",&iCase);
	char szStr1[255];
	char szStr2[255];
	getchar();
	while(iCase--)
	{
		
		gets(szStr1);
		gets(szStr2);
		toPoetry(szStr1,szStr2);
	}
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值