首页 > 代码库 > 林昊4
林昊4
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){ srand(time(NULL)); while(true) { int min = 0; int max = 100; int a = 0 ; int count = 0;//次数 int target = rand()%max + 1;//产生随机数 while(true) { int guess = 0; printf("请输入%d-%d之间的数\n",min,max); scanf("%d",&guess); count++; if(guess < a) { printf("负数无效,Game Over\n"); exit(0); } if(guess < min||guess > max) { printf("你粗心了,请看清楚,输入的数为%d - %d\n",min,max); continue; } else { if(target==guess) { printf("YOU WIN!\n",count); printf("共猜了%d次。\n",count); break; } else if(target > guess) { min = guess; printf("数字大于%d\n",guess); printf("Too small\n"); } else { max = guess; printf("数字小于%d\n",guess); printf("Too big\n"); } } } printf("共猜了%d次。\n",count); if(count==1) printf ("Bingo!"); if(count<=3) printf("Lucky you!!"); if(count>3) printf("Good guess!!!"); } return 0;}
第二个版本让玩家控制猜测次数
#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){ srand(time(NULL)); while(true) { int min = 0; int max = 100; int a = 0; int b; int count = 0;//次数 int target = rand()%max + 1;//产生随机数 printf("你想玩多少次?(如果超过N次都没有猜到,则游戏结束,输入0则为无限次数):"); scanf("%d",&b); while(true) { int guess = 0; printf("请输入%d-%d之间的数\n",min,max); scanf("%d",&guess); count++; if(count==b) { printf("已达你决定猜测的游戏最大次数%d次,Game Over\n",b); exit(0); } if(guess < a) { printf("负数无效,Game Over\n"); exit(0); } if(guess < min||guess > max) { printf("你粗心了,请看清楚,输入的数为%d - %d\n",min,max); continue; } else { if(target==guess) { printf("YOU WIN!\n",count); printf("共猜了%d次。\n",count); break; } else if(target > guess) { min = guess; printf("数字大于%d\n",guess); printf("Too small\n"); } else { max = guess; printf("数字小于%d\n",guess); printf("Too big\n"); } } } if(count==1) printf ("Bingo!\n"); if(count<=3) printf("Lucky you!!\n"); if(count>3) printf("Good guess!!!\n"); } return 0;}
从键盘上输入2个正整数,输出这两个数的最大公约数和最小公倍数。
#include<stdio.h>int main(){ int a,b,m,i,o=1; printf("请输入:"); scanf("%d %d",&a,&b); m=a; if(a<b) { a=b; b=m; } for(i=2;i<=b;i++) { if(a%i==0&&b%i==0) o=i; } printf("最大公约数:%d\n",o); m=(a*b)/o; printf("最小公倍数:%d\n",m); return 0;}
林昊4
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。