c语言 给小学生出加法考试题,c语言编程题及答案.doc

C C 语言编程题及答案(三)语言编程题及答案(三) 1. 给小学生出加法考试题 编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列 要求以循序渐进的方式编程。 程程序序 1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示 “Right!” , 否则显示“Not correct! Try again!” ,程序结束。 程程序序 2 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示 “Right!” , 否则显示“Not correct! Try again!” ,直到做对为止。 程程序序 3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示 “Right!”, 否则提示重做,显示“Not correct! Try again!” ,最多给三次机会,如果三次仍未做对,则显示 “Not correct! You have tried three times! Test over!” ,程序结束。 程序程序 4 连续做 10 道题,通过计算机随机产生两个 1~10 之间的加数给学生出一道加法 运算题,如果输入答案正确,则显示“Right!” ,否则显示“Not correct!” ,不给机会重做,10 道题做完后,按每题 10 分统计总得分,然后打印出总分和做错的题数。 程序程序 5 通过计算机随机产生 10 道四则运算题,两个操作数为 1~10 之间的随机数,运 算类型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,则显示“Right!” , 否则显示“Not correct!” ,不给机会重做,10 道题做完后,按每题 10 分统计总得分,然后打 印出总分和做错题数。 【思考题】 如果要求将整数之间的四则运算题改为实数之间的四则运算题,那么程序 该如何修改呢?请读者修改程序,并上机测试程序运行结果。 2.掷骰子游戏 编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有 6 面,这些面包 含 1、2、3、4、5、6 个点,投两枚骰子之后,计算点数之和。如果第一次投的点数和为 7 或 11,则游戏者获胜;如果第一次投的点数和为 2、3 或 12,则游戏者输;如果第一次投的 点数和为 4、5、6、8、9 或 10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子, 直到赚到该点数时算是游戏者获胜。如果投掷 7 次仍未赚到该点数,则游戏者输。 【思考题】 将游戏规则改为:计算机想一个数作为一个骰子掷出的点数(在用户输入 数据之前不显示该点数) ,用户从键盘输入一个数作为另一个骰子掷出的点数,再计算两点 数之和。其余规则相同,然后请读者重新编写该程序。 第 2 章 上机实验指导 ·1· 答案: 1.1。 。 #include /* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回 1,否则返回 0 函数参数:整型变量 a 和 b,分别代表被加数和加数 函数返回值:当 a 加 b 的结果与用户输入的答案相同时,返回 1,否则返回 0 */ int Add(int a, int b) { int answer; printf(“%d+%d=“, a, b); scanf(“%d“, if (a+b == answer) return 1; else return 0; } /* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag,标志结果正确与否 函数返回值:无 */ void Print(int flag) { if (flag) printf(“Right!\n“); else printf(“Not correct!\n“); } main() { int a, b, answer; C 语言大学实用教程学习指导 ·2· printf(“Input a,b:“); scanf(“%d,%d“, answer = Add(a, b); Print(answer); } 1.2。 。 。 #include /* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回 1,否则返回 0 函数参数:整型变量 a 和 b,分别代表被加数和加数 函数返回值:当 a 加 b 的结果与用户输入的答案相同时,返回 1,否则返回 0 */ int Add(int a, int b) { int answer; printf(“%d+%d=“, a, b); scanf(“%d“, if (a+b == answer) return 1; else return 0; } /* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag,标志结果正确与否 函数返回值:无 */ void Print(int flag) { if (flag) printf(“Rright!\n“); 第 2 章 上机实验指导 ·3· else printf(“Not correct. Try again!\n“); } main() { int a, b, answer; printf(“Input a,b:“); scanf(“%d,%d“, do { answer = Add(a, b); Print(answer); }while (answer == 0); } 1.3。 。 。 #include /* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回 1,否则返回 0 函数参数:整型变量 a 和 b,分别代表被加数和加数 函数返回值:当 a 加 b 的结果与用户输入的答案相同时,返回 1,否则返回 0 */ int Add(int a, int b) { int answer; printf(“%d+%d=“, a, b); scanf(“%d“, if (a+b == answer) return 1; else return 0; } C 语言大学实用教程学习指导 ·4· /* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag,标志结果正确与否 整型变量 chance,表示同一道题已经做了几次还没有做对 函数返回值:无 */ void Print(int flag, int chance) { if (flag) printf(“Right!\n“); else if (chance #include 第 2 章 上机实验指导 ·5· #include /* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回 1,否则返回 0 函数参数:整型变量 a 和 b,分别代表被加数和加数 函数返回值:当 a 加 b 的结果与用户输入的答案相同时,返回 1,否则返回 0 */ int Add(int a, int b) { int answer; printf(“%d+%d=“, a, b); scanf(“%d“, if (a+b == answer) return 1; else return 0; } /* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag,标志结果正确与否 函数返回值:无 */ void Print(int flag) { if (flag) printf(“Rright!\n“); else printf(“Not correct!\n“); } main() { int a, b, answer, error, score, i; srand(time(NULL)); error = 0; score = 0; for (i=0; i #include #include /* 函数功能:对两整型数进行加、减、乘、除四则运算 如果用户输入的答案与结果相同,则返回 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; 第 2 章 上机实验指导 ·7· 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“, if (result == answer) return 1; else return 0; } /* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag,标志结果正确与否 函数返回值:无 */ void Print(int flag) { if (flag) C 语言大学实用教程学习指导 ·8· printf(“Rright!\n“); else printf(“Not correct!\n“); } main() { int a, b, answer, error, score, i, op; srand(time(NULL)); error = 0; score = 0; for (i=0; i #include #include int rollDice(void); 第 2 章 上机实验指导 ·9· main() { enum Status {CONTINUE, WON, LOST}; int sum, myPoint, count = 0; enum Status gameStatus; srand(time(NULL)); sum = rollDice(); switch (sum) { case 7: case 11: gameStatus = WON; break; case 2: case 3: case 12: gameStatus = LOST; break; default: gameStatus = CONTINUE; myPoint = sum; printf(“Point is %d\n“, myPoint); break; } while (gameStatus == CONTINUE) { sum = rollDice(); count ++; if (sum == myPoint) { gameStatus = WON; } else if (count == 7) { gameStatus = LOST; } C 语言大学实用教程学习指导 ·10· } if (gameStatus == WON) { printf(“Player wins\n“); } else { printf(“Player loses\n“); } } int rollDice(void) { int die1, die2, workSum; die1 = 1 + rand()%6; die2 = 1 + rand()%6; workSum = die1 + die2; printf(“Player rolled %d + %d = %d\n“, die1, die2, workSum); return workSum; }

展开阅读全文

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值