浪费时间 (943字)
#include <stdio.h>#include <string.h>
void main(void)
{
char Name[64];
char ID[64];
unsigned long Table[12] = {9, 13, 7, 2, 12, 6, 20, 5, 5, 11, 18, 14};
unsigned long Key[12];
int k, len;
do
{
printf("Input your name(at least 3 chars):");
gets(Name);
len = strlen(Name);
} while(len < 3);
do
{
printf("Input your ID#(XXXX-XXXX):");
gets(ID);
} while( (strlen(ID) != 9) || (ID[4] != '-'));
for(k = len; k < 12; k++)
{
Name[k] = 0x20;
}
strcat(ID, "123");
printf("Your registration key is: ");
for(k = 0; k < 12; k++)
{
Key[k] = (Name[k] ^ ID[k]) & 0xFF;
Key[k] += Table[k];
while(Key[k] > 'Z') Key[k] -= ('Z' - 'A');
while(Key[k] < 'A') Key[k] += ('Z' - 'A');
putchar(Key[k]);
}
putchar('\n');
}
