「PAT乙级真题解析」Basic Level 1076 Wifi密码 (问题分析+完整步骤+伪代码描述+提交通过代码)
题设要求按照给定规则将给定的输入最终翻译成一串数字并输出,所以是一道模拟题。 由于题目设定的场景是题目的答案编号对应着wi-fi密码中的一位数字, 所以输入是(选项编号 - 是否是正确答案), 我们需要做的是读取选项编号, 和是否是正确答案的标志位, 如果是正确答案, 则输出对应的选项编号即可.
#算法#数据结构#需求分析#c语言#pat考试
Table of Contents
乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。
PAT乙级BasicLevelPractice 1076 Wifi密码
问题分析
题设要求按照给定规则将给定的输入最终翻译成一串数字并输出,所以是一道模拟题。 由于题目设定的场景是题目的答案编号对应着wi-fi密码中的一位数字, 所以输入是(选项编号 - 是否是正确答案), 我们需要做的是读取选项编号, 和是否是正确答案的标志位, 如果是正确答案, 则输出对应的选项编号即可.
完整描述步骤
- 获取输入: 密码长度(即, 题目个数)
- 对于密码的每一位/每一道题:
- 对于题目的每一个选项:
- 获取输入: 选项, 是否是正确答案
- 如果是正确答案:
- 输出选项对应的编号(A-1, B-2, C-3, D-4)
- 对于题目的每一个选项:
伪代码描述
- get input: password_length;
- for each digit position of password:
- get input: option, answer
- if answer == 'T':
- print(sequence number of option);
完整提交代码
/*
# 问题分析
题设要求按照给定规则将给定的输入最终翻译成一串数字并输出,所以是一道模拟题。
由于题目设定的场景是题目的答案编号对应着wi-fi密码中的一位数字,
所以输入是(选项编号 - 是否是正确答案), 我们需要做的是读取选项编号, 和是否是正确答案的标志位,
如果是正确答案, 则输出对应的选项编号即可.
# 完整描述步骤
1. 获取输入: 密码长度(即, 题目个数)
2. 对于密码的每一位/每一道题:
- 对于题目的每一个选项:
- 获取输入: 选项, 是否是正确答案
- 如果是正确答案:
- 输出选项对应的编号(A-1, B-2, C-3, D-4)
# 伪代码描述
1. get input: password_length;
2. for each digit position of password:
- get input: option, answer
- if answer == 'T':
- print(sequence number of option);
*/
# include<stdio.h>
int main(){
int password_length;
scanf("%d", &password_length);
char option, answer;
for (int i = 0; i < password_length; i++){
for (int j = 0; j < 4; j++){
getchar();
scanf("%c-%c", &option, &answer);
if (answer == 'T'){
printf("%d", option - 'A' + 1);
}
}
}
return 0;
}