hdu 2816 I Love You Too

本文介绍了一种通过特定映射表进行字符串转换的方法,并实现了字符替换、字符串重组及逆序输出等功能。该算法利用C语言标准库函数和数组操作来完成输入字符串的复杂变换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模拟




#include<stdio.h>
char str[10][5]={{0,0,0,0,0},{0,0,0,0,0},{'0','A','B','C',0},{'0','D','E','F',0},{'0','G','H','I',0},{'0','J','K','L',0},{'0','M','N','O',0},{'0','P','Q','R','S'},{'0','T','U','V',0},{'0','W','X','Y','Z'}};  
char s1[27]={"QWERTYUIOPASDFGHJKLZXCVBNM"};
char s2[27]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
int main()
{
	int i,len,j,n,m,k;
	char ch[1010],ch1[1010],ch2[1010];
	while(scanf("%s",ch)!=-1)
	{
		for(len=i=0;ch[i];i=i+2)
		{
			ch1[len]=str[ch[i]-'0'][ch[i+1]-'0'];
			len++;
		}
		for(j=0;j<len;j++)
			for(i=0;i<26;i++)				
			{
				if(s1[i]==ch1[j])
				{ch1[j]=s2[i];break;}
			}
			k=0;n=len/2+len%2;
			for(i=0;i<n;i++)
			{
				ch2[k]=ch1[i];
				k+=2;
			}
			k=1;
			for(i=n;i<len;i++)
			{
				ch2[k]=ch1[i];
				k+=2;
			}
			for(i=len-1;i>=0;i--)
				printf("%c",ch2[i]);
			printf("\n");
	}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值