#include <stdio.h>
#include <string.h>
char key_map (char input_char)
{
char output = '0';
switch (input_char)
{
case 'a':
case 'b':
case 'c':
return output + 2;
case 'd':
case 'e':
case 'f':
return output + 3;
case 'g':
case 'h':
case 'i':
return output + 4;
case 'j':
case 'k':
case 'l':
return output + 5;
case 'm':
case 'n':
case 'o':
return output + 6;
case 'p':
case 'q':
case 'r':
case 's':
return output + 7;
case 't':
case 'u':
case 'v':
return output + 8;
case 'w':
case 'x':
case 'y':
case 'z':
return output + 9;
default:
return -1;
}
}
#define MAX_LEN 500
char input_char[MAX_LEN];
char output_char[MAX_LEN];
int passwd_map (char * input_char, char * output_char, int size)
{
int i = 0;
for (i = 0; i < size; i++)
{
if ((input_char[i] >= 'a') && (input_char[i] <= 'z'))
{
output_char[i] = key_map (input_char[i]);
}
else if ((input_char[i] >= 'A') && (input_char[i] <= 'Z'))
{
output_char[i] = input_char[i] + 32 + 1;
}
else if ((input_char[i] >= '0') && (input_char[i] <= '9'))
{
output_char[i] = input_char[i];
}
else
{
memset (output_char, 0x0, MAX_LEN);
break;
}
}
}
int main()
{
gets(input_char);
passwd_map (input_char, output_char, strlen(input_char));
printf ("%s", output_char);
}
#include <string.h>
char key_map (char input_char)
{
char output = '0';
switch (input_char)
{
case 'a':
case 'b':
case 'c':
return output + 2;
case 'd':
case 'e':
case 'f':
return output + 3;
case 'g':
case 'h':
case 'i':
return output + 4;
case 'j':
case 'k':
case 'l':
return output + 5;
case 'm':
case 'n':
case 'o':
return output + 6;
case 'p':
case 'q':
case 'r':
case 's':
return output + 7;
case 't':
case 'u':
case 'v':
return output + 8;
case 'w':
case 'x':
case 'y':
case 'z':
return output + 9;
default:
return -1;
}
}
#define MAX_LEN 500
char input_char[MAX_LEN];
char output_char[MAX_LEN];
int passwd_map (char * input_char, char * output_char, int size)
{
int i = 0;
for (i = 0; i < size; i++)
{
if ((input_char[i] >= 'a') && (input_char[i] <= 'z'))
{
output_char[i] = key_map (input_char[i]);
}
else if ((input_char[i] >= 'A') && (input_char[i] <= 'Z'))
{
output_char[i] = input_char[i] + 32 + 1;
}
else if ((input_char[i] >= '0') && (input_char[i] <= '9'))
{
output_char[i] = input_char[i];
}
else
{
memset (output_char, 0x0, MAX_LEN);
break;
}
}
}
int main()
{
gets(input_char);
passwd_map (input_char, output_char, strlen(input_char));
printf ("%s", output_char);
}
1679

被折叠的 条评论
为什么被折叠?



