在C语言中实现一问一答的程序,通常需要以下几个步骤:
编写题库
创建一个包含多个问题的题库,并为每个问题分配一个唯一的编号。
编写扫描器
编写一个扫描器,用于接收用户输入的问题编号,并从题库中获取对应问题的答案。
编写主程序
在主程序中,使用`printf`输出问题,使用`scanf`接收用户输入的问题编号,然后调用扫描器获取答案,并使用`printf`输出答案。
下面是一个简单的示例程序,展示了如何实现这一功能:
```c
include
// 题库,每个问题及其编号
const char* questions[] = {
"What is 2 + 2?",
"What is the capital of France?",
"What is 100 - 1?",
"What is the square root of 16?",
"What is the first letter of the alphabet?"
};
const char* answers[] = {
"4",
"Paris",
"99",
"4",
"A"
};
// 获取问题编号对应的答案
const char* getAnswer(int questionNumber) {
if (questionNumber >= 1 && questionNumber <= 5) {
return answers[questionNumber - 1];
} else {
return "Invalid question number";
}
}
int main() {
int questionNumber;
printf("Welcome to the C Programming Quiz!\n");
printf("Enter the number of the question you want to answer (1-5):\n");
scanf("%d", &questionNumber);
if (questionNumber >= 1 && questionNumber <= 5) {
const char* answer = getAnswer(questionNumber);
printf("The answer is: %s\n", answer);
} else {
printf("Invalid question number. Please enter a number between 1 and 5.\n");
}
return 0;
}
```
编译和运行
保存代码:
将上述代码保存为一个`.c`文件,例如`quiz.c`。
编译代码:
使用C编译器(如GCC)编译代码。例如,在命令行中输入以下命令:
```sh
gcc -o quiz quiz.c
```
运行程序:
在命令行中输入以下命令来运行程序:
```sh
./quiz
```
扩展功能
动态输入问题:可以使用文件或数据库来存储题库,并在程序运行时动态读取问题。
用户反馈:可以添加用户输入正确答案的功能,并给出正确或错误的反馈。
多轮问答:可以实现多轮问答,记录用户的得分,并在最后给出总得分。
通过这些步骤和示例代码,你可以开始编写一个简单的一问一答程序。随着学习的深入,你可以进一步扩展程序的功能和复杂性。