本文目录一览:
C语言编程_幸运52猜数游戏__
加分啊,哈哈
#includeiostream.h
const int N=10;
void compare(double p[],int n);
void sort(double g[],double p[]);
void main()
{
cout"欢迎进入幸运52猜数游戏""t""制作人:电气 C097 张欣瑞 096133"endl;
double g[N]={12,16,20,40,60,55,91,43,33,50},p[10];
char choice;//记录输入的判断是否进行的字符
for(int a=1;;a++)
{
cout"现在开始游戏?请选择n(否)或者y(是)"endl;
cinchoice;
if(choice=='y')
{
cout"游戏规则:\n"
"1.由玩家自选商品序号并对商品价格进行猜测""\n"
"2.系统会对玩家所给出的价格进行分析并提示高了或者低了""\n"
"3.对于每件商品玩家都有十次机会猜出其价格若10次机会都没有猜中则该轮游戏结束""\n"
"4.若玩家在10次之内猜出商品价格则可以选择是否继续猜另一种商品的价格""\n"
"5.游戏结束后系统会自动对商品进行价格排序并且现实出来商品编号""\n";
coutendl;
for (int m=0;m10;m++)
{
cout"请选择商品编号(0至9)"endl;
int n;//n记录输入的所猜的题号
cinn;
compare(p,n);//调用函数
}
}
else
{
cout"游戏结束"endl;
break;
}
}
sort(g,p);
}
void compare(double p[],int n)//判断猜出价格的高低以及是否正确的分函数
{
double g[N]={12,16,20,40,60,55,91,43,33,50};
for(int b=0;b10;b++)
{
cout"请输入商品价格"endl;
cinp[b];
if(p[b]g[n])
cout"Wrong""\t""低了"endl;
else if(p[b]g[n])
cout"Wrong""\t""高了"endl;
else if(p[b]==g[n])
{
cout"Right!""\t""您猜了"b+1"次价格就猜对了""\n""不错!"endl;
b=+10;
}
}
}
void sort(double g[],double p[])//把商品按照价格由低到高排序,并把排序后的商品序号显示出来的分函数
{
double t,k[N];//c1
for(int i=0;iN;i++)
k[i]=g[i];
for(int j=0;jN-1;j++)
for(int m=0;mN-1-j;m++)
if(g[m]g[m+1])
{
t=g[m];
g[m]=g[m+1];
g[m+1]=t;
}//c2---c1-c2为用冒泡法排序
for(i=0;iN;i++)
for(int j=0;jN;j++)
{
if(k[j]==g[i])
coutg[i]"\t""商品编号"jendl;//用查找的方法显示数组原来的序
}
}
用C语言编写猜数字(喜欢挑战的人可以来看看哦)
// 猜数字.cpp : Defines the entry point for the console application.
//
#include stdafx.h
#include stdlib.h
#include stdio.h
#include time.h
//随机生成4位数,要求没有重复数字
void ProduceRandomNumber(int data[4])
{
int z;
/*随机选取1-9999的数,放弃1-999的数,选择1000-9999的数*/
do
{
srand( (unsigned)time( NULL ) );
z=(rand()%100)*(rand()%100);/*随机选数*/
data[3]=z%10;/*把随即数分成4个*/
data[2]=z/10%10;
data[1]=z/100%10;
data[0]=z/1000%10;
}while(z1000||data[0]==data[1]||data[0]==data[2]||data[0]==data[3]||data[1]==data[2]||data[1]==data[3]||data
[2]==data[3]||data[0]==0);/*判断每一位数是否相同,如果是则重新输出*/
return ;
}
void Indata(int number,int data[4])
{
data[0]=number/1000%10;
data[1]=number/100%10;
data[2]=number/10%10;
data[3]=number%10;
}
int PosRight(int question[4],int answer[4])
{
int i,count=0;
for(i=0;i=3;i++)
{
if(question[i]==answer[i])
{
count++;
}
}
return count;
}
int NumRight(int question[4],int answer[4])
{
int i,j,count=0;
for(i=0;i=3;i++)
{
for(j=0;j=3;j++)
{
if((question[i]==answer[j])(i!=j))
{
count++;
}
}
}
return count;
}
int main(int argc, char* argv[])
{
int answer,count=0,input[4],output[4],m=0,n=0,choice;
ProduceRandomNumber(input);
printf(" 欢迎来玩猜数字游戏!\n 游戏开始啦!!!\n");
do
{
count++;
scanf("%d",answer);
Indata(answer,output);
m=PosRight(input,output);
n=NumRight(input,output);
if(m==4)
{
printf("你真棒!!!\n这个数字就是%d%d%d%d\n你一共猜了%d次了!\n",input[0],input[1],input[2],input[3],count);
break;
}
else
{
printf("不好意思你错了哦!! 提示: %dA%dB\n",m,n);
}
if(count==8)
{
printf("你已经猜了八次了!还要继续吗?(1:yes/0:false)\n");
scanf("%d",choice);
if(choice==1)
printf("继续吧!\n");
else
{printf("结束游戏!\n");
break;}
}
else if(count==15)
{
printf("你已经猜了15 次了,可能方法不对!下次继续吧!!!\n");
break;
}
}while(1);
return 0;
}
c语言猜数字
#includestdio.h
#include time.h
#include stdlib.h
int zishu;
int min=1,max=100;
void jieshou()
{
printf("请在%d到%d中输入您猜的数:",min,max);
scanf("%d",zishu);
if(zishumin||zishumax)
{
printf("\n对不起,您输入的数不合法,请重新输入!");
scanf("%d",zishu);
}
}
void main()
{
srand( (unsigned)time( NULL ) );
int suiji=rand()%100+1; //产生随机数
int cishu=0;
jieshou(); //接受用户猜的数
while(cishu!=10)
{
if(zishusuiji) //判断
{
max=zishu;
jieshou();
}
else if(zishusuiji)
{
min=zishu;
jieshou();
}
else
{
printf("您真牛逼!!这样也能猜对!!");
break;
}
cishu++;
}
if(cishu==10)
exit(0);
}
猜数字游戏: 要c语言的代码
#includestdio.h
#includestdlib.h
#includetime.h
#define menu printf("1:开始游戏!2:查看积分榜!3:输出帮助信息!4:系统设置!0:退出程序!\n")
void sort(int *start, int *end)
{
int *key, *i , *j, temp;
key = start; i = start; j = end;
if(start=end) return;
while(i != j)
{
while(*j = *key j i) j--; {temp = *j; *j = *key; *key = temp; key = j; }
while(i j *i = *key) i++; {temp = *i; *i = *key; *key = temp; key = i; }
}
sort(start, key-1);
sort(key+1, end);
}
void game(int count, int times)
{
int i, j, f, f1, a[10], b[10], f2, score=100;
FILE *fp;
printf("输入%d个1至9之间不重复的数 中间用空格隔开\n", count);
srand((unsigned)time(NULL));
for(i=0; icount; i++)
{ a[i]=rand()%10;
while(1)
{
for(j=0, f=1; ji; j++)
if(a[i]==a[j]) {a[i]=rand()%10; f=0; break;}
if(f) break;
}
}
printf("产生随机数为:");
for(i=0; icount; i++) printf("%d ", a[i]); printf("\n");
while(times)
{
printf("你还有%d次机会\n", times);
f=0, f1=0, f2=1;
for(i=0; icount; i++)
if(scanf("%d", b[i])!=1) { printf("输入格式不正确..你浪费了一次机会\n\n"); f2=0; break;}
if(f2)
for(i=0; icount; i++)
{ if(f2==0) break;
for(j=i+1; jcount; j++)
if(b[i]==b[j]) { printf("输入有重复..你浪费了一次机会\n\n"); f2=0; break;}
}
if(f2)
{
for(i=0; icount; i++)
for(j=0; jcount; j++)
if(a[i]==b[j])
if(i==j) f++;
else f1++;
if(f==count) {printf("你蒙对了!!!\n\n"); ; break;}
printf("有%d个数数值和位置都相同! 有%d个数数值相同,但位置不同\n\n", f, f1);
}
times--; score-=10;
fflush(stdin);
}
if(score0)
{
fp=fopen("dat.txt", "r");
fread(a,sizeof(int),7,fp);
a[7] = score;
sort(a+2, a+7);
for(i=7; i2; i--) b[9-i]=a[i]; b[0]=a[0]; b[1]=a[1];
fclose(fp);
fp=fopen("dat.txt", "w");
fwrite(b,sizeof(int),7,fp);
fclose(fp);
}
}
void viewrecord()
{
FILE *fp;
int a[7], i;
if((fp=fopen("dat.txt", "r"))==NULL) printf("无记录");
else fread(a,sizeof(int),7,fp);
for(i=2; i7; i++)
printf("第%d名 %d分\n", i-1, a[i]);
printf("按任意键键退出积分榜\n\n");
fclose(fp);
getchar();
}
void set()
{
int a[7], i;
FILE *fp;
fp=fopen("dat.txt", "r");
fread(a,sizeof(int),7,fp);
printf("修改数字个数\n");
scanf("%d", a[0]);
printf("修改尝试次数\n");
scanf("%d", a[1]);
fp=fopen("dat.txt", "w");
i=fwrite(a,sizeof(int),7,fp);
if(i==7) printf("修改成功!\n");
else printf("修改失败\n");
printf("按任意键键回主菜单\n\n");
fclose(fp);
getchar();
}
void main()
{
int a[7], i;
FILE *fp;
char ch;
if((fp=fopen("dat.txt", "r"))==NULL)
{
fp=fopen("dat.txt", "w");
for(i=2; i7; i++)
a[i]=0; a[0]=4; a[1]=4;
fwrite(a,sizeof(int),7,fp);
fclose(fp);
}
else
fread(a,sizeof(int),7,fp);
printf("1:开始游戏!2:查看积分榜!3:输出帮助信息! 4:系统设置!0:退出程序!\n");
while((ch=getchar())!='0')
switch(ch)
{
case '1' : fp=fopen("dat.txt", "r"); fread(a,sizeof(int),7,fp); fclose(fp); game(a[0], a[1]); menu; break;
case '2' : viewrecord();menu;break;
case '3' : printf("帮助\n"); getchar(); break;
case '4' : set(); menu; break;
default : ;
}
}