经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
C语言实现猜数字小项目
来源:jb51  时间:2022/1/17 10:44:02  对本文有异议

学习完c语言循环、选择内容,我们对c语言有个初步的认识了,让我们来实现一个小项目吧!!!

1.猜数字小项目分析:

我们利用c语言制造出随机数来猜,在只知道范围的前提下我们无非有以下三种可能,猜大了、猜小了、猜对了。如果猜错了我们让玩家继续猜直到猜对为止,若猜对了给出选择是否继续玩哈!!!

2.项目实现

我们定义两个函数

菜单函数

  1. void menu()
  2. {
  3. ?? ?printf("********************\n");
  4. ?? ?printf("***** 1.play *******\n");
  5. ?? ?printf("***** 0.exit *******\n");
  6. ?? ?printf("********************\n");
  7. }

游戏函数

  1. ?void game()
  2. {
  3. ?? ?int ret = rand() % 100 + 1;//为了产生1到100的随机数
  4. ?? ?int guess = 0;
  5. ?? ?while (1)
  6. ?? ?{
  7. ?? ??? ?printf("请输入->");
  8. ?? ??? ?scanf("%d", &guess);
  9. ?? ??? ?printf("\n");
  10. ?? ??? ?if (guess == ret)
  11. ?? ??? ?{
  12. ?? ??? ??? ?printf("太棒了,你猜对了!!!\n\n");
  13. ?? ??? ??? ?break;
  14. ?? ??? ?}
  15. ?? ??? ?else if (guess < ret)
  16. ?? ??? ?{
  17. ?? ??? ??? ?printf("猜小了!!!\n\n");
  18. ?? ??? ?}
  19. ?? ??? ?else?
  20. ?? ??? ?{
  21. ?? ??? ??? ?printf("猜大了!!!\n\n");
  22. ?? ??? ?}
  23. ?? ?}
  24. }

若想使界面看着美观可自行修改哈!

在制造随机数时可能出现问题,要加上随机种子要不然你有作弊的嫌疑哦。嘿嘿!!!

在项目里加上时间戳就可了。哈哈哈。

3.完整代码如下

  1. #include<stdio.h>
  2. #include<time.h>
  3. void menu()
  4. {
  5. ?? ?printf("********************\n");
  6. ?? ?printf("***** 1.play *******\n");
  7. ?? ?printf("***** 0.exit *******\n");
  8. ?? ?printf("********************\n");
  9. }
  10. void game()
  11. {
  12. ?? ?int ret = rand() % 100 + 1;//产生1到100随机数
  13. ?? ?int guess = 0;
  14. ?? ?while (1)
  15. ?? ?{
  16. ?? ??? ?printf("请输入->");
  17. ?? ??? ?scanf("%d", &guess);
  18. ?? ??? ?printf("\n");
  19. ?? ??? ?if (guess == ret)
  20. ?? ??? ?{
  21. ?? ??? ??? ?printf("太棒了,你猜对了!!!\n\n");
  22. ?? ??? ??? ?break;
  23. ?? ??? ?}
  24. ?? ??? ?else if (guess < ret)
  25. ?? ??? ?{
  26. ?? ??? ??? ?printf("猜小了!!!\n\n");
  27. ?? ??? ?}
  28. ?? ??? ?else?
  29. ?? ??? ?{
  30. ?? ??? ??? ?printf("猜大了!!!\n\n");
  31. ?? ??? ?}
  32. ?? ?}
  33. }
  34. int main()
  35. {
  36. ?? ?int input=0;
  37. ?
  38. ?? ?srand((unsigned int)time(NULL));//导入随机种子
  39. ?
  40. ?? ?do
  41. ?? ?{
  42. ?? ??? ?menu();
  43. ?? ??? ?printf("请选择->");
  44. ?? ??? ?scanf("%d", &input);
  45. ?? ??? ?printf("\n");
  46. ?? ??? ?switch (input)
  47. ?? ??? ?{
  48. ?? ??? ?case 1:
  49. ?? ??? ??? ?printf("开始游戏\n\n");
  50. ?? ??? ??? ?game();
  51. ?? ??? ??? ?break;
  52. ?? ??? ?case 0:
  53. ?? ??? ??? ?printf("退出游戏");
  54. ?? ??? ??? ?break;
  55. ?? ??? ?default:
  56. ?? ??? ??? ?printf("输入错误,请重新输入!!!\n");
  57. ?? ??? ?}
  58. ?
  59. ?? ?} while (input);
  60. ?? ?return 0;
  61. }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号