编程实例6-8:multifac.c参考答案
[实验任务四]:
程序1参考答案:
#include
/* 函数功能: 计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数: 整型变量a和b,分别代表被加数和加数
函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0 */
int Add(int a, int b) {
int answer;
printf(\ scanf(\ if (a+b == answer) return 1; else
return 0; }
/* 函数功能: 打印结果正确与否的信息。
函数参数: 整型变量flag,标志结果正确与否 函数返回值:无 */
void Print(int flag) {
if (flag)
printf(\ else
printf(\
第 6 页 共 12 页
}
main() /*主函数*/ {
int a, b, answer;
printf(\ scanf(\ answer = Add(a, b); Print(answer); }
程序两次测试的运行结果分别如下:
①Input a,b:1,2↙ 1+2=3↙ Right!
②Input a,b:1,2↙ 1+2=4↙
Not correct!
程序2参考答案:
#include
/* 函数功能: 计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数: 整型变量a和b,分别代表被加数和加数
函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0 */
int Add(int a, int b) {
int answer;
printf(\ scanf(\ if (a+b == answer) return 1; else
return 0; }
/* 函数功能: 打印结果正确与否的信息。
函数参数: 整型变量flag,标志结果正确与否 函数返回值:无 */
void Print(int flag) {
if (flag)
printf(\ else
printf(\}
main() /*主函数*/ {
int a, b, answer;
printf(\ scanf(\ do {
第 7 页 共 12 页
answer = Add(a, b); Print(answer);
}while (answer == 0); }
程序运行结果如下:
Input a,b:1,2↙ 1+2=4↙
Not correct. Try again! 1+2=5↙
Not correct. Try again! 1+2=3↙
Rright! 程序3参考答案:
#include
/* 函数功能: 计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数: 整型变量a和b,分别代表被加数和加数
函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0 */
int Add(int a, int b) {
int answer;
printf(\ scanf(\ if (a+b == answer) return 1; else
return 0; }
/* 函数功能: 打印结果正确与否的信息。
函数参数: 整型变量flag,标志结果正确与否
整型变量chance,表示同一道题已经做了几次还没有作对 函数返回值:无 */
void Print(int flag, int chance) {
if (flag)
printf(\ else if (chance < 3)
printf(\ else
printf(\correct. You have tried three times!\\nTest over!\\n\}
main() /*主函数*/ {
int a, b, answer, chance;
printf(\ scanf(\ chance = 0; do {
answer = Add(a, b); chance++;
第 8 页 共 12 页
Print(answer, chance); }while ((answer == 0) && (chance < 3)); }
程序两次测试的运行结果分别如下:
①Input a,b:1,2↙ 1+2=4↙
Not correct. Try again! 1+2=5↙
Not correct. Try again! 1+2=2↙
Not correct. You have tried three times! Test over! ②Input a,b:1,2↙ 1+2=4↙
Not correct. Try again! 1+2=3↙
Right! 程序4参考答案:
#include
/* 函数功能: 计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数: 整型变量a和b,分别代表被加数和加数
函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0 */
int Add(int a, int b) {
int answer;
printf(\ scanf(\ if (a+b == answer) return 1; else
return 0; }
/* 函数功能: 打印结果正确与否的信息。
函数参数: 整型变量flag,标志结果正确与否 函数返回值:无 */
void Print(int flag) {
if (flag)
printf(\ else
printf(\ }
main()/*主函数*/ {
int a, b, answer, error, score, i;
srand(time(NULL));
第 9 页 共 12 页
}
error = 0; score = 0;
for (i=0; i<10; i++) {
a = rand() + 1; b = rand() + 1; answer = Add(a, b); Print(answer); if (answer == 1)
score = score + 10; else
error++; }
printf(\
程序运行结果如下:
10+1=11↙ Rright! 5+9=14↙ Rright! 4+6=10↙ Rright! 7+2=9↙ Rright! 3+10=13↙ Rright! 1+1=2↙ Rright! 5+2=7↙ Rright! 3+7=10↙ Rright! 4+7=10↙ Not correct! 5+6=11↙ Rright!
score = 90, error numbers = 1 程序5参考答案:
#include
/* 函数功能:对两整型数进行加减乘除四则运算,
如果用户输入的答案与结果相同,则返回1,否则0
函数参数: 整型变量a和b,分别代表参加四则运算的两个操作数 整型变量op,代表运算类型,
当op值为1、2、3、4时,分别执行加、减、乘、整除运算 函数返回值:当用户输入的答案与结果相同时,返回1,否则返回0 */
int Compute(int a, int b, int op) {
第 10 页 共 12 页