⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1068.cpp

📁 zju_acm部分代码!都是自己做 有些事基本题目!题目还可以
💻 CPP
字号:
#include <cstdio>
#include <string>
using namespace std;
struct Node
{
char ch;
char s[5];
int l;
}N[30]=
{
{'A',".-",2},{'B',"-...",4},{'C',"-.-.",4},{'D',"-..",3},{'E',".",1},
{'F',"..-.",4},{'G',"--.",3},{'H',"....",4},{'I',"..",2},{'J',".---",4},
{'K',"-.-",3},{'L',".-..",4},{'M',"--",2},{'N',"-.",2},{'O',"---",3},
{'P',".--.",4},{'Q',"--.-",4},{'R',".-.",3},{'S',"...",3},{'T',"-",1},
{'U',"..-",3},{'V',"...-",4},{'W',".--",3},{'X',"-..-",4},{'Y',"-.--",4},
{'Z',"--..",4},{'_',"..--",4},{'.',"---.",4},{',',".-.-",4},{'?',"----",4}
};

Node find(char a)
{
	int i;
	for( i = 0 ; i <= 29 ; i++)
		if(N[i].ch == a)
			return N[i];

}
char find_mores(char st[],int a,int begin)
{
	int i,j;
	for( i = 0 ; i <= 29 ; i++)
		if(N[i].l == a )
		{
			for( j = 0 ; j <a ; j++)
				if( N[i].s[j] != st[begin+j])
						break;
				if( j == a)
					return N[i].ch;

		}
}
	int num[101];
		char character[401];
int main()
{
	//FILE *f ;
	//f = fopen("1.txt","r");
	int k=0,N;
	scanf("%d",&N);
	while(N--)
	{
		k++;
		char	string[101];
	
		memset(num,0,sizeof(num));
		memset(character,NULL,sizeof(character));
		
		scanf("%s",string);
		printf("%d: ",k);
		int len = strlen(string);
	
		int i,j;
		int t=0;
		for( i = 0 ;  i < len ; i++)
		{
			Node find_temp = find(string[i]) ;
			num[i] = find_temp.l;
		    for(j = 0 ; j<num[i] ; j++)
				character[t++] = find_temp.s[j];
		}
		t = 0;
		for(i = 0 ; i < len ; i++)
		{

		char srt =find_mores(character , num[len-1  -i] , t );	
			
			printf("%c",srt);
			t += num[len-1  -i];
		}
		printf("\n");

	}
	return 0 ;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -