当前位置:文档之家› 实验6 函数与编译预处理(参考答案)

实验6 函数与编译预处理(参考答案)

实验六函数与编译预处理(参考答案)[实验任务一]:程序跟踪调试实例6-1:error6_1.c参考答案程序跟踪调试实例6-2:error6_2.c参考答案程序跟踪调试实例6-3:error6_3.c参考答案[实验任务二]:程序填空实例6-1:blank6_1.c参考答案程序填空实例6-2:print1.c参考答案程序填空实例6-3:reverse.c参考答案[实验任务三]:编程实例6-1:primefun.c参考答案(第一种方法)编程实例6-1:primefun.c参考答案(第二种方法)编程实例6-1:primefun.c参考答案(第三种方法)编程实例6-2:printnum.c参考答案编程实例6-3:printa.c参考答案编程实例6-4:power.c参考答案(第一种方法)编程实例6-4:power.c参考答案(第二种方法)编程实例6-5:Taile.c参考答案编程实例6-6:value.c参考答案编程实例6-7:LeRangDe.c参考答案编程实例6-8:multifac.c参考答案[实验任务四]:程序1参考答案:#include <stdio.h>/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数:整型变量a和b,分别代表被加数和加数函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0 */int Add(int a, int b){int answer;printf("%d+%d=", a, b);scanf("%d", &answer);if (a+b == answer)return 1;elsereturn 0;}/* 函数功能:打印结果正确与否的信息。

函数参数:整型变量flag,标志结果正确与否函数返回值:无*/void Print(int flag){if (flag)printf("Right!\n");elseprintf("Not correct!\n");}main() /*主函数*/{int a, b, answer;printf("Input a,b:");scanf("%d,%d", &a, &b);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 <stdio.h>/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数:整型变量a和b,分别代表被加数和加数函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0*/int Add(int a, int b){int answer;printf("%d+%d=", a, b);scanf("%d", &answer);if (a+b == answer)return 1;elsereturn 0;}/* 函数功能:打印结果正确与否的信息。

函数参数:整型变量flag,标志结果正确与否函数返回值:无*/void Print(int flag){if (flag)printf("Rright!\n");elseprintf("Not correct. Try again!\n");}main() /*主函数*/{int a, b, answer;printf("Input a,b:");scanf("%d,%d", &a, &b);do{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 <stdio.h>/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数:整型变量a和b,分别代表被加数和加数函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0*/int Add(int a, int b){int answer;printf("%d+%d=", a, b);scanf("%d", &answer);if (a+b == answer)return 1;elsereturn 0;}/* 函数功能:打印结果正确与否的信息。

函数参数:整型变量flag,标志结果正确与否整型变量chance,表示同一道题已经做了几次还没有作对函数返回值:无*/void Print(int flag, int chance){if (flag)printf("Right!\n");else if (chance < 3)printf("Not correct. Try again!\n");elseprintf("Not correct. You have tried three times!\nTest over!\n"); }main() /*主函数*/{int a, b, answer, chance;printf("Input a,b:");scanf("%d,%d", &a, &b);chance = 0;do{answer = Add(a, b);chance++;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 <stdio.h>#include <stdlib.h>#include <time.h>/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数:整型变量a和b,分别代表被加数和加数函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0*/int Add(int a, int b){int answer;printf("%d+%d=", a, b);scanf("%d", &answer);if (a+b == answer)return 1;elsereturn 0;}/* 函数功能:打印结果正确与否的信息。

函数参数:整型变量flag,标志结果正确与否函数返回值:无*/void Print(int flag){if (flag)printf("Rright!\n");elseprintf("Not correct!\n");}main()/*主函数*/{int a, b, answer, error, score, i;srand(time(NULL));error = 0;score = 0;for (i=0; i<10; i++){a = rand()%10 + 1;b = rand()%10 + 1;answer = Add(a, b);Print(answer);if (answer == 1)score = score + 10;elseerror++;}printf("score = %d, error numbers = %d\n", score, error); }程序运行结果如下: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 <stdio.h>#include <stdlib.h>#include <time.h>/* 函数功能:对两整型数进行加减乘除四则运算,如果用户输入的答案与结果相同,则返回1,否则0函数参数:整型变量a和b,分别代表参加四则运算的两个操作数整型变量op,代表运算类型,当op值为1、2、3、4时,分别执行加、减、乘、整除运算函数返回值:当用户输入的答案与结果相同时,返回1,否则返回0*/int Compute(int a, int b, int op){int answer, result;switch (op){case 1:printf("%d + %d=", a, b);result = a + b;break;case 2:printf("%d - %d=", a, b);result = a - b;break;case 3:printf("%d * %d=", a, b);result = a * b;break;case 4:if (b != 0){printf("%d / %d=", a, b);result = a / b;}else{printf("Division by zero!\n");}break;default:printf("Unknown operator!\n");break;}scanf("%d", &answer);if (result == answer)return 1;elsereturn 0;}/* 函数功能:打印结果正确与否的信息。

相关主题