2020年1月10日 星期五

電話號碼轉換

題目:
寫一個程式把字母格式的電話號碼轉乘數字格式。

(如果你手邊沒有手機,這裡有數字鍵與字母的對照:2=ABC,3=DEF,4=GHI,5=JKL,6,MNO,7=PRS,8=TUV,9=WXYZ.)如果電話號碼包含非字母字元(例如數字或標點符號),不需要轉換他們。

你可以假設使用者輸入的所有字母都是大寫。

輸入:
輸入包含一行字串,代表電話號碼。

輸出:
把字母電話號碼轉換為數字型態。

範例輸出:





程式碼:
#include<stdio.h>

int main()
{
 int i = 0,check=0;
 char number[15] = {'\0'}, ch;
 printf("Enter phone number: ");
 while ((ch = getchar()) != '\n')
 {
  if (ch >= 'A'&&ch <= 'Y')
  {
   if (ch <= 'C')
    number[i++] = '2';
   else if (ch <= 'F')
    number[i++] = '3';
   else if (ch <= 'I')
    number[i++] = '4';
   else if (ch <= 'L')
    number[i++] = '5';
   else if (ch <= 'O')
    number[i++] = '6';
   else if (ch <= 'S')
    number[i++] = '7';
   else if (ch <= 'V')
    number[i++] = '8';
   else
    number[i++] = '9';
  }
  else if (ch == '@'||ch=='Z')
  {
   check = 1;
   break;
  }
  else
   number[i++] = ch;
 }
 if (check == 0)
  printf("%s\n", number);
 else
  printf("invalid phone number.\n");
 return 0;
}

沒有留言:

張貼留言