本来挺简单的一个程序,但突然想把《Friends》给糅合进去,就多花了一些心思,这是我写过最有趣的程序了。

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int getrand()
  6. {
  7. srand(time(NULL));
  8. return rand()%3;
  9. }
  10.  
  11. int win_lose(int choice)
  12. {
  13. int rand = 0;
  14. char *p[3] = {"SCISSORS", "STONE", "CLOTH"};
  15. rand = getrand();
  16. printf("\nThe system give the %s.\n",p[rand]);
  17. rand++;
  18.  
  19. if(choice == rand) //even
  20. {
  21. printf("\nJoey:\tHei, How you doing? We call it even, all right?\n");
  22. printf("\tAnd if you are Chandler M. Bing, of course you will say ok.\n");
  23. return 0;
  24. }
  25. else if(rand==choice-1 || rand==choice+2) //win
  26. {
  27. printf("\nMonica:\tOf course the winner is Me. I knew it, you such a loser,\n");
  28. printf("\tyou can't win me ever!\n");
  29. printf("Ross:\tIt can't be, I am Profess Geller and I am a doctor.\n");
  30. printf("\tI can't lose, you must cheat me last time. \n");
  31. return 1;
  32. }
  33. else //lose
  34. {
  35. printf("\nRachel:\tOh my god! Oh my god! I can't believe this. Phoebe,\n");
  36. printf("\tyou are my best friend, can we forget this?\n");
  37. printf("Phoebe:\tOk, But it is when you say that you don't love Ross any more.\n");
  38. return -1;
  39. }
  40. }
  41.  
  42. int main()
  43. {
  44. int choice = 0;
  45. int flag = 0;
  46. int rot = 0;
  47. char ch;
  48. system("clear");
  49. printf("***********************************************");
  50. printf("\n\tLets play a game about <Friends>.\n");
  51. printf("***********************************************");
  52. printf("\nJanice:\tYou don't want to see me any more, right? \n\tSo just chose a number quickly:\n");
  53. printf("\n1.SCISSORS\n2.STONE\n3.CLOTH\n");
  54. do
  55. {
  56. printf("\nInput your choice:");
  57. scanf("%d",&choice);
  58. if(choice>0 && choice<4)
  59. {
  60. flag = win_lose(choice);
  61. while((ch=getchar())!='\n' && ch!=EOF);
  62. printf("\nGunther:I want to see Rachel");
  63. if(flag == -1)
  64. printf(" again");
  65. printf(", so please replay it.(y/n)");
  66. }
  67. else
  68. {
  69. while((ch=getchar())!='\n' && ch!=EOF);
  70. printf("\nMonica:\tWhat's the matter with you! What you need is just chose\n");
  71. printf("\ta number from 1 to 3. So are you ready?(y/n)");
  72. }
  73.  
  74. ch = getchar();
  75. }
  76. while(ch=='y' || ch=='Y' || ch=='\n');
  77.  
  78. printf("\nGoodbye!\n");
  79.  
  80. return 0;
  81. }

谨以此程序纪念下《Friends》,Monica、Ross、Joey、Rachel、Chandler、Phoebe。

还请诸位大侠自动忽略那蹩脚的英语。

C语言小程序(七)、石头剪刀布的更多相关文章

  1. C语言小程序——推箱子(窄字符和宽字符)

    C语言小程序——推箱子(窄字符Version) 推箱子.c #include <stdio.h> #include <conio.h> #include <stdlib. ...

  2. 通过反汇编C语言小程序学习Liunx汇编语言

    大家好!    我是来自山东师范大学的吴乐.    今天在<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...

  3. Linux下简单C语言小程序的反汇编分析

    韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...

  4. c语言小程序以及java生成注释文档方法

    c语言小程序:sizeof和strlen() sizeof运算符以字节为单位给出数据的大小,strlen()函数以字符为单位给出字符串的长度,字符和字节不是一回事. char类型用于存储字母和标点符号 ...

  5. Linux C语言小程序

    Linux C语言小程序 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include & ...

  6. 微信小程序(七)-项目实例(原生框架 MINA转云开发)==02-云开发-配置

    云开发:1.就是用云函数的型式来使用云存储和云数据库完成各种操作!     2.只关注调什么函数,完成什么功能即可,无需关心HTTP请求哪一套!     3.此模式不代表没有服务器,只是部署在云环境中 ...

  7. 自动生成.py文件头部的C语言小程序

    每次都 vi xxx.py 然后再打 #!/usr/bin/env python 等等的程序头信息感觉有点麻烦,于是便想着写一个小程序自动生成这些头信息了,顺便在 ~/.bashrc 里写入 alia ...

  8. c语言小程序

    这是一个用c语言写的小程序,功能是随机输出30道100以内的四则运算,先生成两个随机数,再通过随机数确定四则运算符号,最后输出题目. #include<iostream> using na ...

  9. C语言小程序之整除

    看到有人要求用C语言写这样一个小程序,就拿来温习一下 需求:输出从1到2015这2015个自然数中,能被4或5整除,但不能被30整除的数,并计算有多少个数.   #include<stdio.h ...

随机推荐

  1. unity shader学习笔记(1) shader基础结构以及Properties面板

    首先是shader的基础结构: Shader "Custom/Example { Properties//变量属性面板 { } SubShader { Tags { "Render ...

  2. Java引用类型作为形参和返回值

    一.什么是引用类型 在Java中引用类型包括三种:类.抽象类.接口. 二.引用类型作为形参使用 1.类作为形参 /** * 类作为形参,实际传递的是该类的对象 */ class Student { p ...

  3. CentOS7安装MySQL8.0小计

    之前讲配置文件和权限的时候有很多MySQL8的知识,有同志说安装不太一样,希望发个文,我这边简单演示一下 1.环境安装 下载MySQL提供的CentOS7的yum源 官方文档:<https:// ...

  4. ABAP 发邮件(三)

    [转自http://blog.sina.com.cn/s/blog_7c7b16000101bnxk.html]SAP ABAP 发邮件方法三(OO) *&------------------ ...

  5. python基础10 ---匿名函数和递归

    一.匿名函数 1.lambda表达式就相当于匿名函数,其格式为: lambda 参数列表:参数表达式 2.lambda自带return值,因为匿名函数有个限制,就是只能有一个表达式,不用写return ...

  6. 【整理学习Hadoop】Hadoop学习基础之一:服务器集群技术

            服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器.集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任 ...

  7. DHTMLTree、Dtree和Ztree的学习使用

    一.DHTMLTree是树菜单,允许我们快速开发界面优美,基于Ajax的javascript库.她允许在线编辑,拖拽,三种状态(全选.不选.半选),复选框等模式.同时在加载大数据量的时候,仍然可以保持 ...

  8. jQuery横向手风琴

    在线演示 本地下载

  9. 【并查集】关押罪犯(BSOJ2809)

    Description S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨 气值”(一个正整 ...

  10. 一步一步带你分析 requirejs

    详细源代码一共就2000多行,来看我这篇分析的同学应该都下载下来了,好了,话不多说,开始: 代码的开头就出现3个全局变量: requirejs, require, define var require ...