c语言编程题与答案4_第1页
c语言编程题与答案4_第2页
c语言编程题与答案4_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C 语言编程题及答案(三)1. 给小学生出加法考试题 编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列要 求 以循序渐进的方式编程。程序 1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right! ”,否则显示 uNot correct! Try again!", 程序结束。程序 2 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right! ”否,则显示 uNot correct! Try again!", 直到做对为止。程序 3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Ri

2、ght! ,”否则提示重做,显示 “ Notcorrect! Try again! ”最,多给三次机会,如果三次仍未做对,则显示 "Not correct! You have tried three times! Test over!", 程序结束。程序 4 连续做 10 道题,通过计算机随机产生两个 1? 10 之间的加数给学生出一道加法 运算 题,如果输入答案正确,则显示“ Right! ", 否则显示“ Not correct!", 不给机会重做, 10 道题做完 后,按每题 10 分统计总得分,然后打印出总分和做错的题数。程序 5 通过计算机随机

3、产生 10 道四则运算题,两个操作数为 1? 10 之间的随机数,运 算类 型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,贝俱示“Right! ”否, 则显示“ Noteorrect! ",不给机会重做, 10 道题做完后,按每题 10分统计总得分,然后打 印出总分和做错 题数。【思考题】如果要求将整数之间的四则运算题改为实数之间的四则运算题,那么程序该 如何 修改呢?请读者修改程序,并上机测试程序运行结果。2. 掷骰子游戏编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有 6 面,这些面包含1、2、3、 4、5、6 个点,投两枚骰子之后,计算点数之和。如

4、果第一次投的点数和为7 或 11, 则游戏者获胜;如果第一次投的点数和为2、 3 或 12,则游戏者输;如果第一次投的点数和为4、 5、6、8、9 或 10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到赚到该点数时算是游戏者获胜。如果投掷 7 次仍未赚到该点数,则游戏者输。【思考题】将游戏规则改为:计算机想一个数作为一个骰子掷出的点数(在用户输入数据之前不显示该点数),用户从键盘输入一个数作为另一个骰子掷出的点数,再计算两点数之和。其 余规则相同,然后请读者重新编写该程序答案:#include <stdio.h>1,否则返回 01,否则返回 0/* 函数功能:计算两整型

5、数之和,如果与用户输入的答案相同,则返回函数参数:整型变量a和b,分别代表被加数和加数函数返回值:当 a加b的结果与用户输入的答案相同时,返回*/int Add(int a, int b)(int answer;printf( ”d+%d=” , a, b);scanf("%d", &answer);if (a+b = answer)return 1;elsereturn 0;/* 函数功能:打印结果正确与否的信息函数参数:整型变量 Hag, 标志结果正确与否 函数返回值:无*/void Print(int flag)if (flag)printf( nRight!

6、n n);elseprintf("Not correct!n");main()int a, b, answer;printf("Input a,b:"); scanf(n%d,%d n, &a, &b); answer = Add(a, b); Print(answer);1 ? 2 o o o#include <stdio.h>1,否则返回 01,否则返回 0/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回函数参数:整型变量a和b,分别代表被加数和加数函数返回值:当 a加b的结果与用户输入的答案相同时,返回

7、*/int Addfint a, int b)(int answer;printf( H%d+%d= n, a, b);scanf( ”d", &answer);if (a+b = answer)return 1;elsereturn 0;/* 函数功能:打印结果正确与否的信息函数参数:整型变量 flag, 标志结果正确与否 函数返回值:无*/void Print(int flag)if (flag)printf( HRright!n n);elseprintf( nNot correct. Try again!n");main()(int a, b, answer

8、;printf( HInput a,b: n);scanf("%d,%d", &a, &b);do(answer = Add(a, b);Print(answer);while (answer = 0);1 ? 3 o o o#include <stdio.h>1,否则返回 01,否则返回 0/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回函数参数:整型变量 a和b,分别代表被加数和加数函数返回值:当 a加b的结果与用户输入的答案相同时,返回*/ int Add(int a, int b)(int answer;printf(

9、”d+%d= 二 a, b); scanf("%d", &answer);if (a+b = answer) return 1;elsereturn 0;/* 函数功能:打印结果正确与否的信息 函数参数:整型变量flag, 标志结果正确与否整型变量chanee,表示同一道题已经做了几次还没有做对函数返回值:无*/void Print(int flag, int chance)if (flag) printf( nRight!n n);else if (chance < 3)Hn printf( HNot correct. Try again!n n);else

10、printf( nNot 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(answer0) &&(chance < 3);1.4 o o o#include <stdio.

11、h>#include <stdlib.h>#include <time.h>1,否则返回 01,否则返回 0/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回函数参数:整型变量a和b,分别代表被加数和加数函数返回值:当 a加b的结果与用户输入的答案相同时,返回*/int Add(int a, int b)(int answer;printf( ”d+%d=” , a, b); scanf("%d", &answer); if (a+b = answer) return 1;elsereturn 0;/* 函数功能:打印结

12、果正确与否的信息 函数参数:整型变量 Hag, 标志结果正确与否 函数返回值:无*/void Print(int flag)if (flag) printf( HRright!n 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

13、);if (answer = 1) score = score + 10;else error+;printf("score = %d, error numbers = %dn", score, error);1.5 o o o#include <stdio.h>#include <stdlib.h>#include <time.h>/* 函数功能:对两整型数进行加、减、乘、除四则运算如果用户输入的答案与结果相同,则返回1,否则返回 0函数参数:整型变量a和b,分别代表参加四则运算的两个操作数整型变量 op, 代表运算类型,当 op 值为

14、 1, 2, 3, 4 时,分别执行加、减、乘、整除运算函数返回值:当用户输入的答案与结果相同时,返回1,否则返回 0*/int Compute(int a, int b, int op)(int answer, result;switch (op)(case 1:printf( n%d + %d =”, a, b); result = a + b;break;case 2:printf( n%d - %d= 二 a, b); result = a - b;break;case 3:printf( n%d * %d= ”, a, b); result = a * b;break;case 4:

15、if(b !=0)printf( H%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;else return 0;/* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag, 标志结果正确与

16、否 函数返回值:无*/void Print(int flag)(if (flag) printf( nRright!n 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<10; i+)( a = rand()%10 + 1; b = rand()%10 + 1; op = rand()%4 + 1; answer = Compute(a, b, op); Print(a

17、nswer);if (answer = 1)score = score + 10;elseerror+;error);printf("score = %d, error numbers = %dn", score,#include <stdio.h>#include <stdlib.h>#include <time.h>int rollDice(void);main()enum Status CONTINUE, WON, LOST); int sum, myPoint, count = 0;enum Status gameStatus;s

18、rand(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( Hn”, myPoint);break;while (gameStatus = CONTINUE)(sum = rollDice(); count +; if (sum = myPoint) gameStatus = WON;else if (count = 7)(gameStatus =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论