POJ 2993Emag eht htiw Em Pleh(模拟)

本文探讨了字符映射与数据转换算法的应用,通过解析特定编码规则,实现字符到不同位置的精确映射,并对输入字符串进行转换。算法涉及字符定位、编码规则应用与输出展示,展示了字符映射与数据转换的实用技巧。

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

题目地址:http://poj.org/problem?id=2993

这个题以前做过一遍。。当时居然没写博客。。这题其实也算不上模拟吧,我只是用了几套公式。。

#include <stdio.h>
#include <string.h>
char map[50][50];
int main()
{
    char s1[200], s2[200];
    int i, j, len1, len2, x, y;
    for(i=0;i<17;i++)
    {
        for(j=0;j<33;j++)
        {
            if(i%2==0&&j%4==0)
                map[i][j]='+';
            else if(i%2==0)
                map[i][j]='-';
            else if(j%4==0)
                map[i][j]='|';
            else if(((j/4)%2&&(i/2)%2)||((j/4)%2==0&&(i/2)%2==0))
                map[i][j]='.';
            else
                map[i][j]=':';
        }
    }
    gets(s1);
    len1=strlen(s1);
    for(i=7;i<len1;i++)
    {
        if(s1[i]>='A'&&s1[i]<='Z')
        {
            map[(8-s1[i+2]+'0')*2+1][(s1[i+1]-'a')*4+2]=s1[i];
            i+=3;
        }
        else if(s1[i]>='a'&&s1[i]<='z')
        {
            map[(8-s1[i+1]+'0')*2+1][(s1[i]-'a')*4+2]='P';
            i+=2;
        }
    }
    gets(s2);
    len2=strlen(s2);
    for(i=7;i<len2;i++)
    {
        if(s2[i]>='A'&&s2[i]<='Z')
        {
            map[(8-s2[i+2]+'0')*2+1][(s2[i+1]-'a')*4+2]=s2[i]+32;
            i+=3;
        }
        else if(s2[i]>='a'&&s2[i]<='z')
        {
            map[(8-s2[i+1]+'0')*2+1][(s2[i]-'a')*4+2]='p';
            i+=2;
        }
    }
    for(i=0;i<17;i++)
    {
        for(j=0;j<33;j++)
        {
            printf("%c",map[i][j]);
        }
        printf("\n");
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值