pred_text.c

来自「pred-text 刚好与t9相反」· C语言 代码 · 共 92 行

C
92
字号
#include <stdio.h>
#include <string.h>

//char* words[25143];

char LowerCaseValue(char letter)
{
   if ((letter >= 'A') && (letter <= 'Z'))
      return (letter + 32);
   else
      return letter;
}

unsigned let2int(char letter)
{
   unsigned result;

   if ((letter >= 'a') && (letter <= 'c'))
   {
      result=2;
   }
   else if ((letter >= 'd') && (letter <= 'f'))
   {
      result=3;
   }
   else if ((letter >= 'g') && (letter <= 'i'))
   {
      result=4;
   }
   else if ((letter >= 'j') && (letter <= 'l'))
   {
      result=5;
   }
   else if ((letter >= 'm') && (letter <= 'o'))
   {
      result=6;
   }
   else if ((letter >= 'p') && (letter <= 's'))
   {
      result=7;
   }
   else if ((letter >= 't') && (letter <= 'v'))
   {
      result=8;
   }
   else if ((letter >= 'w') && (letter <= 'z'))
   {
      result=9;
   }
   return result;
}

void word2numeric(char word[30], unsigned numeric[30])
{
   register int i;
   int count=0;

   for (i=0;i<(int)strlen(word);i++)
   {
      numeric[count]=let2int(LowerCaseValue(word[i]));
      count++;
   }
}

int main(void)
{
   int i;
   unsigned numeric[30]={0};
   char word[30];

   /*
   int  count=0;
   FILE *fp;

   fp=fopen("words.txt","r");
   while (feof(fp) == 0)
   {
      fscanf(fp,"%s",words[count]);
      count++;
   }
   */
   printf("Enter a word: ");
   scanf("%s",word);
   printf("\nThe numeric key sequence for this is\n");
   word2numeric(word,numeric);
   for (i=0;i< (int)strlen(word);i++)
   {
      printf("%2d",numeric[i]);
   }

   return 0;
}

⌨️ 快捷键说明

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