C语言编程求教高手:皮划艇收费以及猜数字游戏

作者&投稿:舒固 (若有异议请与网页底部的电邮联系)
C语言编程猜数字游戏~

可能出现的最大数字,有规定吗?
如果没限制,那出来个几百万以上的,没人能才对了。

一个函数用于生成一个随机数
再用一个函数进行三次循环
如果循环中输入的数字猜对了就返回1如果三次循环结束则返回0
主数字判断返回的结果如果是1则表示猜对否则表示猜错
然后询问是否继续进行猜数字游戏

下面是一个简单的代码
#include #include void clean_input_buf(void){ while(getchar() != '
');}int make_num(int num){ srand(num); return 1+rand()%20;}int guess_num(void){ int i=3; int n; int num; num=make_num(clock()); while(i) { printf("请输入一个你猜的数字:"); scanf("%d",&n); if(n == num) return 1; clean_input_buf(); --i; } return 0;}int main(int argc,char **argv){ char c; printf("猜数字游戏!
游戏要猜测的数字为1-20,每个数字可以猜测3次!
"); while(1) { if(guess_num() == 1) printf("恭喜你,你猜中了!
"); else printf("很遗憾,你猜错了!
");redo: printf("还要继续游戏吗?继续输入Y否则输入N!
Y/N:"); c=getchar(); clean_input_buf(); if(c == 'Y' || c == 'y') continue; else if(c == 'N' || c == 'n') break; else { printf("输入错误,请重新输入!
"); goto redo; } } return 0;}

楼主你好
具体代码如下:
(1)划艇
#include<stdio.h>

void start(int *canoe,int *hour)
{
printf("划艇类型\t收费标准\t所选按键\n"
"单人艇\t\t30元/小时\t1\n"
"双人艇\t\t40/小时\t\t2\n"
"4人艇\t\t50/小时\t\t4\n"
"8人艇\t\t60/小时\t\t8\n");
printf("请输入租用划艇的类型:");
scanf("%d",canoe);
printf("请输入想要使用的时间(小时):");
scanf("%d",hour);
}

int main()
{
int canoe,hour;
int sum=0;

start(&canoe,&hour);
switch(canoe)
{
case 1:
sum+=hour*30;
printf("租用单人艇成功!\n");
break;
case 2:
sum+=hour*40;
printf("租用双人艇成功!\n");
break;
case 4:
sum+=hour*50;
printf("租用4人艇成功!\n");
break;
case 8:
sum+=hour*60;
printf("租用8人艇成功!\n");
break;
default:
printf("输入错误!\n");
break;
}

printf("所需费用为:%d元\n",sum);
return 0;
}

(2)猜数字游戏:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main()
{
int num;
int guess;
int count=0;
srand((unsigned)time(NULL));
num=rand()%(100);

while(count<=10)
{
printf("请输入您猜的数字:");
scanf("%d",&guess);
count++;

if(guess<num)
{
printf("太小了,再大一点!\n");
continue;
}
else if(guess>num)
{
printf("太大了,再小一点!\n");
continue;
}
else
break;
}

if(count>=10)
printf("你太笨了,下次再来吧!\n");
else
printf("恭喜你猜对了!\n");

return 0;
}

希望能帮助你哈

第一个:
float m; //花费
float t; //划艇时间
int type; //类型
switch (type)
{
case 1: m=30*t;

case 2:m=40*t;

case 3;m=50*t;

case 4:m=60*t;

printf("%f\n",m);
}

第二个你也可以用这个思路,type取成输入数和生成的随机数之间的差值范围

都非常简单。。。。

第一个需要用到时间函数。。。

第二个要用到一个随机函数。。。

试着自己写写吧。。。。


C语言编程求教高手:皮划艇收费以及猜数字游戏
(1)划艇 include<stdio.h> void start(int *canoe,int *hour){ printf("划艇类型\\t收费标准\\t所选按键\\n""单人艇\\t\\t30元\/小时\\t1\\n""双人艇\\t\\t40\/小时\\t\\t2\\n""4人艇\\t\\t50\/小时\\t\\t4\\n""8人艇\\t\\t60\/小时\\t\\t8\\n");printf("请输入租用划艇的类型:");scanf("%d",...

急!!!求教高手!用c语言实现1,5,6,11,14,15,16,18,19的全排列,并且要求...
void main(){int a,b,c,d,e,f,g,h,i,count=0;int num[9],shu[9];int fun(int s[]);int max(int p,int q);for(a=0; a<9;a++)for(b=0; b<9;b++)for(c=max(a,b)+1;c<9;c++)for(d=0; d<9;d++)for(e=d+1; e<9;e++)for(f=0; f<9;...

C语言 求教高手 程序题
答案很简单,首先,我们要明白联合union这种数据结构是表示几个变量公用一个内存位置,也就是说它所占内存大小就是该联合成员中占用内存最大的那个成员的大小;在你的程序中 union EXAMPLE {struct {int x;int y;}in; \/\/第一个成员,占用8个字节 int a;\/\/第二个成员,占用4个字节 int b;\/\/第...

c语言程序编写,求教高手!!!
\/\/题目,求出数组中最小的数和次最小数,并把最小数和a[0]中的数对调,次最小数和a[1]中的数对调,\/\/要求输入数据为 11,5,12,0,3,6,9,7,10,8 对调后为 0,3,12,11,5,6,9,7,10,8 \/\/0,3,5,6,7,8,9,10,11,12 int main(){ int a[100],n,i,j,temp,k;printf("...

求教高手 c语言 输入一个整数,显示出它对应的ASCII
include <stdio.h> int main(){ char c;int i;printf("请输入一个整数:");scanf("%d",&i);c=i;printf("您输入整数对应的ASCII码字符为:%c\\n",c);return 0;}

C语言 求教高手帮忙 程序题
struct ks {int a;int *b;}s[4],*p;main(){int n=1,i;printf("\\n");for(i=0;i<4;i++){s[i].a=n;s[i].b=&s[i].a;n=n+2;}\/\/出了这个循环后s[0]=1,s[1]=3,s[2]=5,s[3]=7 p=&s[0];\/\/p只向s[0]p++;\/\/p指向s[1]printf("%d,%d\\n",(++p)-...

c语言大神们求教
(3)x==5时,y==1。x==0时,y==0。x==-5时,y==-1。(4)输入5时,输出 5 7。输入2时,输出 1 1 0。输入4时,输出 4。

C语言编程求教!!!
1、把int改为float;2、三个%d改成连续的三个%f,不要留空格;3、这个错误在6行中都存在,把句首的“("”和句尾部的“")”全部去掉,只保留句末的分号(;)即可;4、把%d换成%.2f,一共有六个需要更改;5、把&f前面的&去掉,只留下f,也是有6个&需要去掉。程序应该能正常运行了。如果...

c语言编程,求教!!!
include<stdio.h> void main(){ int i,a,b,c;printf("请依次输入a和b:\\n");scanf("%d%d",&a,&b);printf("\\na=%d,b=%d",a,b);c=a%10*100+a\/10+b%10*1000+b\/10*10;printf("\\nc=%d",c);}

几道C语言问题求教 望高手解答
int x=-10,y=5,z=0;if(x=y+z)printf(“***\\n”);\/\/此处应为x==y+z;混淆了“=”和“==”,“=”是赋值运算符,“==”是等于号,else printf(“$$$”\\n);} 2、(x+y)+z-1&&y+z\/2是逻辑运算,不为0,就为1,3、由于“==”的优先级高于“=”,x=y==z相当于x=(...

昌宁县18222856585: C语言编程题求高手 ...
昔儿启脾: 你好,程序如下: #include<stdio.h> void main() { int a,b,c; int n; for(n=100;n<=999;n++) { a=n/100; b=n/10%10; c=n%10; if(n==(a*a*a+b*b*b+c*c*c)) printf("%d\n",n); } }有疑问提出. 望采纳.

昌宁县18222856585: 请教高手C语言编程
昔儿启脾: #include<stdio.h> main() { int a[]={4,8,6,7,1,3}; int n,i,k; scanf("%d",&n); for(i=0;i<6;i++) { if(n==a[i]) k=i; } printf("%d\n",k); }

昌宁县18222856585: C语言编程; 求高手解答,
昔儿启脾: #include<stdio.h> void main() {int i; for(i=0;i%2!=1||i%3!=2||i%4!=3||i%5!=4;i++); printf("鸡蛋有%2d个\n",i); }

昌宁县18222856585: 不用高手!!!基础!!!c语言编程求任意两数和(不赋值)急!!! -
昔儿启脾: #include (stdio.h) void main (){ float a,b,sun; sum==a+b; scanf("%f,%f,"&a,&b); printf("%f,"sum);}

昌宁县18222856585: 用c语言编程,求水仙花数.注意是用c语言.求高手! -
昔儿启脾: /*此程序没有考虑必须m<=n和m,n除了均为零外必须为3位数的整数 所以测试的时候要注意输入正确,如有需要可自行添加判断 */ #include "stdio.h"void main() {int m,n,num,i,j,k;bool yn=false;scanf("%d %d",&m,&n);while(m!=0||n!=0){...

昌宁县18222856585: C语言编程,求高手!!! -
昔儿启脾: { int a[3],i,j,t; printf("please"); for(i=0;i<3;i++) scanf("%d",&a[i]); for(j=0;j<3;j++)for(i=0;i<3-j;i++) if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}for(i=0;i<3;i++) printf("%d",a[i]);}

昌宁县18222856585: 求c语言编程高手!帮忙编下这道题!
昔儿启脾: #include<stdio.h> //=============================================================== int Sac(int k); int Ssq(int k); //函数声明 float Sre(int k); //=============================================================== //===...

昌宁县18222856585: C语言.编程?[请教高手]
昔儿启脾: main() { int x,g,s,b; scanf("%d",&x); while(!(x>99&&x<1000)) {printf("error!");scanf("%d",&x);} b=x-x%100; g=x%10; s=x%100-g; printf("%d %d %d\n",b,s,g); }

昌宁县18222856585: 向高手求教C语言
昔儿启脾: void ex(char *n[]) { char *temp; int i,j; for(i=0; i<2; i++) for(j=i+1; j<3; j++) if(strcmp(n[i],n[j])>0) {strcpy(temp,n[i]); strcpy(n[i],n[j]); strcpy(n[j],temp); }

昌宁县18222856585: 求教c语言高手
昔儿启脾: #include <stdio.h> void main() { int i,j,k=0,a,s[50]; for(i=0;i<50;i++) { scanf("%d",&a); //小于等于1的数不算素数 if(a<=1) continue; //判断是否是素数 for(j=2;j<a/2;j++) { if(a%j==0) { break; } else { continue; } } if(j>=a/2) { s[k++]=a; } } //排序 for(i=0...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网