本文目錄一覽:
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 : ;
}
}
原創文章,作者:MTG29,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128116.html