C语言II博客作业03

| 这个作业属于哪个课程 | <班级的链接> |
| c语言程序设计|https://edu.cnblogs.com/campus/zswxy/CST2020-3|
| 这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2020-3/homework/11919 |
| 这个作业的目标 | 利用数组处理数据 |
| 学号 | 20209016 |
一、本周作业(总分:50分)

1.1 完成PTA作业,并给出编程题完成截图(5分)


1.2 挑战题目:九宫格键盘对应英语单词九宫格键盘一般可以用于输入字母。

如用2可以输入A、B、C,用3可以输入D、E、F等。如图所示:
IMG_8397(1).JPG
对于号码5869872,可以依次输出其代表的所有字母组合。如:JTMWTPA、JTMWTPB……
您是否可以根据这样的对应关系设计一个程序,尽可能快地从这些字母组合中找到一个有意义的单词来表述一个电话号码呢?如:可以用单词“computer”来描述号码26678837.

include<stdio.h>

include<string.h>

char a[10][4] = {
{' '},{'''},{'a','b','c'},
{'d','e','f'},{'g','h','i'},
{'j','k','l'},{'m','n','o'},
{'p','q','r','s'},{'t','u','v'},
{'w','x','y','z'}
};
int alenth[10] = { 1,1,3,3,3,3,3,4,3,4 };
char b[100];
char anwser[100];

void hjh(int flag)
{
int c = b[flag] - 48;
for (int i = 0; i < alenth[c]; i++)
{
anwser[flag] = a[c][i];
if (flag + 1 == strlen(b))
printf("%s\n",anwser);

if (flag + 1 < strlen(b))
hjh(flag + 1);
}
}

int main()
{
scanf("%s", b);
getchar();
hjh(0);
}

2.4 请给出本周学习总结(15分)
1 学习进度条(5分)
| 日期 | 代码行数 | 学习内容 |
| 3.1-3.5 | 144 | 数据的存储和基本的数据类型 |
| 3.12-3.28 | 279 | 数组以及运算 |
|4.1-4.13|165|字符型数组|
2 累积代码行和博客字数(5分)

3 学习内容总结和感悟(5分)
这一周学习了字符型数组,字符型数组用于存放字符型数据,用来存放字符数据的数组称为字符数组。字符数组中的一个元素存放一个字符。定义字符数组的方法与定义数值型数组的方法类似。
其定义的一般形式是:char 数组名[数据长度]

posted @ 2021-04-13 12:07  滢滢从不回头  阅读(23)  评论(0编辑  收藏  举报