21xrx.com
2024-12-23 00:20:36 Monday
登录
文章检索 我的文章 写文章
C++实现九宫格键盘
2023-06-27 10:09:45 深夜i     --     --
C++ 九宫格键盘 实现

九宫格键盘是一种手机输入方式,它的出现让手机输入变得更加方便快捷。现在我们就可以通过C++语言来实现九宫格键盘。

在实现九宫格键盘前,首先需要了解九宫格键盘的布局。九宫格键盘可以分为三行,每行有三个按键。每个按键都对应一个数字或者字母,我们需要在程序中将它们对应起来。

接下来,我们创建一个数组来存储九宫格键盘的布局。首先,我们需要定义数字和字母的对应关系。


char keypad[10][5] = " ";

这样,我们就可以通过访问`keypad[1][0]`来获取数字1对应的字母`abc`。

接下来,我们可以使用`while`循环来进行输入。我们可以使用`cin`函数来获取用户输入的数字,在获取到数字后,我们可以打印出所有可能的组合。


#include <iostream>

#include <cstring>

using namespace std;

int main(){

  char keypad[10][5] = "def";

  int n;

  cin >> n;

  int num[n];

  for(int i=0;i<n;i++){

    cin >> num[i];

  }

  int count = 1;

  for(int i=0;i<n;i++){

    if(num[i]==0) continue;

    count *= strlen(keypad[num[i]]);

  }

  char output[count][n+1];

  int ansk = count;

  for(int i=0;i<n;i++){

    int digit = num[i];

    if(digit==0) continue;

    int ans = ansk/strlen(keypad[digit]);

    int temp=0;

    for(int j=0;j<ansk;j++){

      output[j][i] = keypad[digit][(temp/ans)%strlen(keypad[digit])];

      temp++;

      if(temp%ans==0){

        output[j][i+1] = '\0';

      }

    }

    ansk = ans;

  }

  for(int i=0;i<count;i++){

    cout << output[i] << endl;

  }

  return 0;

}

以上就是实现九宫格键盘的代码。我们可以通过运行这个程序来测试输入结果。通过实现九宫格键盘,我们可以看到C++语言在实现算法问题上有着很大的灵活性和自由度。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复