『壹』 猜數游戲c語言程序設計
這道題不難,只要知道怎樣用c語言生成1~100的隨機數就很好辦了!
附代碼如下!
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
intmain()
{
index:
printf("請選擇是否進行猜數! 1:是 0:否 ");
intj;
scanf("%d",&j);
if(j==0)
return0;
inti,x=rand()%100+1,input;
for(i=0;i<10;i++)
{
printf("請輸入猜想的1至100之間的整數:");
scanf("%d",&input);
if(input==x)
{
printf("猜想正確! 你一共猜想了%d次 ",i+1);
gotoindex;
}
if(input<x)
{
if((i+1)>=10)
{
printf(" 此次猜想失敗! ");
gotoindex;
}
else
printf("所猜數過小! 請再猜一次! ");
}
if(input>x)
{
if((i+1)>=10)
{
printf(" 此次猜想失敗! ");
gotoindex;
}
else
printf("所猜數過大! 請再猜一次! ");
}
}
}
為了簡化,使用了goto語句。
『貳』 C語言猜數程序
給你編好了 你看看效果
#include<time.h>
#include<Stdlib.h>
#include<stdio.h>
void guessfigure(int x)
{ int magic,guess,i;
srand(time(NULL));
magic=rand()%100;
for(i=1;i<=x;i++)
{ printf(" \n \n Please guess a magic number:");
scanf("%d",&guess);
if(guess==magic)
{ printf("\n\n Right! %dtimes",i);
return;
}
else if(guess>magic)
printf("\n\n Wrong!Too high!");
else
printf("\n\n Wrong!Too low!");
}
}
int main()
{ int x;
printf(" guess figure \n\n");
char k;
int i=0;
do
{
if(i!=0)
printf("\nwelcome to antother \n");
x=10;
guessfigure(x);
printf("\n exit: q; go-on:anyone else \n");
scanf("%c",&k);
}while(k!='q');
return 0;
}
『叄』 c語言編程猜數
這個問題很好玩呢!
#include<stdio.h>
#include<conio.h>
intmain(){
inti,j,k,w,n=0;
charc;
do{
clrscr();
printf("Pleasethinkofapositiveinteger(<128),Thenpressanykeytocontinue. ");
getch();
for(i=6;i>=0;--i){
printf("?(y|n):");
w=(1<<i);
n+=w;
for(k=n,j=0;j<w;++j,++k){
if(j%20==0)printf(" ");
printf("%4d",k);
}
printf(" ");
do{c=getch();}while(c!='y'&&c!='n');
printf("%c ",c);
if(c=='n')n-=w;
}
printf("Yournumberis%d.",n);
printf(" Doyouwanttotryagain?(y|n)");
do{c=getch();}while(c!='y'&&c!='n');
}while(c=='y');
printf(" Finished! ");
getch();
return0;
}
能看懂程序吧,不多做解釋了!
『肆』 求C語言程序,猜數游戲。
#include<stdlib.h>
intmain()
{
intn,g,d,t;
n=156;
printf("請輸入一個數字: ");
scanf("%d",&g);
while(1)
{
if(g<n)
{
d=g;
printf("太小了, 在輸入一個數字:");
scanf("%d",&t);
g=t;
}
if(g>n)
{
d=g;
printf("太大了, 再輸入一個數字:");
scanf("%d",&t);
g=t;
}
if(g==n)
{
printf("你猜對了!就是156。 ");
break;
}
}
return0;
}
『伍』 用c語言編寫一個猜數游戲
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define Range 100
int guess(int k){
int input;
printf("請輸入數字:\t");
scanf("%d",&input);
if(input==k)return 1;
if(input>k)return -1;
if(input<k)return -2;
}
void score(int time){
if(time<5){printf("恭喜! Score: 100\n");return;}
if(time>=5&&time<11){printf("超過時間~ Score: 80\n");return;}
else{printf("笨! Score: 50\n");}
}
int main(){
int aim;
srandom((unsigned)time(0));
aim = random()%Range;
int i,flag;
i=flag=0;
while(flag!=1){
flag=guess(aim);
if(flag==-1)printf("大了!\n");
if(flag==-2)printf("小了!\n");
if(flag==1)printf("恭喜答對! 此數是:%d\n",aim);
i++;
}
score(i);
return 0;
}
『陸』 c語言猜數字游戲源代碼
小游戲2048:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include<windows.h>
int jsk( ); //計算空格數
void rsgm( ); //重置游戲
void inkey( ); //按鍵輸入
void left( ); //向左移動
void right( ); //向右移動
void up( ); //向上移動
void down( ); //向下移動
void show( ); //輸出界面
void adnum( ); //添加隨機數
void yes( ); //游戲是否結束(1是0否)
void gtxy(int x, int y); //控制游標位置的函數
int a[4][4]; //存儲16個格子中的數字
int score = 0; //每局得分
int best = 0; //最高得分
int ifnum; //是否需要添加數字(1是0否)
int over; //游戲結束標志(1是0否)
int i,j,k;
int main( )
{ rsgm( ); //重置游戲
inkey( ); //按鍵輸入
return 0;
}
void Color(int a) //設定字元顏色的函數(a應為1-15)
{ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a); }
void rsgm( ) //重置游戲
{ score = 0; ifnum = 1; over = 0; srand((unsigned)time(0)); //啟動隨機數發生器
int n = rand( ) % 16; //隨機函數產生0-15的數字
for (i = 0; i < 4; i++)
{for (j = 0; j < 4; j++)
{ if (n == 0) { int k = rand( ) % 3; if (k == 0 || k == 1) { a[i][j] = 2; }
else { a[i][j] = 4; } n--; }
else { a[i][j] = 0; n--; }
}
}
adnum( );
system("cls");
CONSOLE_CURSOR_INFO gb={1,0}; //以下兩行是隱藏游標的設置,gb代指游標
SetConsoleCursorInfo( GetStdHandle(STD_OUTPUT_HANDLE), &gb );
Color(14); //設置字體淡黃色
printf(" 2048小游戲"); Color(7); //恢復白字黑底
printf(" ┌──────┬──────┬──────┬──────┐");
printf(" │ │ │ │ │");
printf(" ├──────┼──────┼──────┼──────┤");
printf(" │ │ │ │ │");
printf(" ├──────┼──────┼──────┼──────┤");
printf(" │ │ │ │ │");
printf(" ├──────┼──────┼──────┼──────┤");
printf(" │ │ │ │ │");
printf(" └──────┴──────┴──────┴──────┘");
show( );
}
void show( ) //輸出界面
{ for(i=0;i<4;i++)
for(j=0;j<4;j++)
{ gtxy(7*j+9,2*i+4); //gtxy(7*j+9, 2*i+4)是游標到指定位置輸出數字
if(a[i][j]==0){printf(" "); Color(7); printf("│");}
else if(a[i][j]<10){ if (a[i][j] == 2) { Color(14); }
else if (a[i][j] == 4) { Color(13); }
else if (a[i][j] == 8) { Color(12); }
printf(" %d ", a[i][j]); Color(7 ); printf("│");
}
else if (a[i][j] < 100){if (a[i][j] == 16) { Color(12); }
else if (a[i][j] == 32) { Color(10); }
else if (a[i][j] == 64) { Color(2 ); }
printf(" %d ", a[i][j]); Color(7); printf("│");
}
else if (a[i][j] < 1000) {if (a[i][j] == 128) { Color(9); }
else if (a[i][j] == 256) { Color(1); }
else if (a[i][j] == 512) { Color(13); }
printf(" %d ", a[i][j]); Color(7); printf("│");
}
else if (a[i][j] < 10000) {if (a[i][j] == 1024) { Color(5); }
else { Color(15); }
printf(" %d ", a[i][j]); Color(7); printf("│");
}
}
if (jsk( ) == 0)
{ yes( ); if (over) { gtxy(9,12); Color(10);
printf(" 游戲結束!是否繼續? [ Y/N ]:"); }
}
}
void inkey( ) //按鍵輸入
{ int key;
while (1)
{ key = getch( );
if (over) { if (key == 89|| key == 121) { rsgm( ); continue; }
else if (key == 78|| key == 110) { return; }
else continue; }
ifnum = 0;
if(key==224)key=getch( );
switch (key)
{ case 75: left( ); break;
case 77: right( ); break;
case 72: up( ); break;
case 80: down( );break;
}
if (score > best) { best = score; }
if (ifnum) { adnum( ); show( ); }
}
}
int jsk( ) //計算空格數
{ int n = 0;
for (i = 0; i < 4; i++)
{ for (j = 0; j < 4; j++) { if ( a[i][j] == 0) {n++;} } }
return n;
}
void left( ) //向左移動
{ for (i = 0; i < 4; i++)
{for (j = 1, k = 0; j < 4; j++)
{ if (a[i][j] > 0)
{ if ( a[i][k] == a[i][j])
{ a[i][k] *= 2; k++;
score = score + 2 * a[i][j];
a[i][j] = 0; ifnum = 1; }
else if ( a[i][k] == 0) { a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }
else { a[i][k + 1] = a[i][j]; if ((k + 1) != j) { a[i][j] = 0; ifnum = 1; }
k++; }
}
}
}
}
void right( ) //向右移動
{for (i = 0; i < 4; i++)
{for (j = 2, k = 3; j >= 0; j--)
{if (a[i][j] > 0)
{ if (a[i][k] == a[i][j])
{a[i][k] *= 2; k--; score = score + 2 * a[i][j]; a[i][j] = 0; ifnum = 1; }
else if ( a[i][k] == 0) {a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }
else { a[i][k - 1] = a[i][j]; if ((k - 1) != j) { a[i][j] = 0; ifnum = 1; } k--; }
}
}
}
}
void up( ) //向上移動
{for (i = 0; i < 4; i++)
{for (j = 1, k = 0; j < 4; j++)
{if (a[j][i] > 0)
{if ( a[k][i] == a[j][i]) { a[k][i] *= 2; k++;score = score + 2 * a[j][i];
a[j][i] = 0; ifnum = 1; }
else if ( a[k][i] == 0) { a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }
else { a[k + 1][i] = a[j][i]; if ((k + 1) != j) { a[j][i] = 0; ifnum = 1; }
k++; }
}
}
}
}
void down( ) //向下移動
{ for (i = 0; i < 4; i++)
{for (j = 2, k = 3; j >= 0; j--)
{if (a[j][i] > 0)
{if (a[k][i] == a[j][i])
{a[k][i] *= 2; k--;score = score + 2 * a[j][i]; a[j][i] = 0; ifnum = 1; }
else if (a[k][i] == 0) {a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }
else {a[k - 1][i] = a[j][i];
if ((k - 1) != j) {a[j][i] = 0; ifnum = 1; } k--; }
}
}
}
}
void adnum( ) //添加隨機數
{ srand(time(0)); int n = rand( ) % jsk( );
for (int i = 0; i < 4; i++)
{for (int j = 0; j < 4; j++)
{ if (a[i][j] == 0) {if (n != 0) { n--; }
else {int k = rand( ) % 3;
if (k == 0 || k == 1) {a[i][j] = 2; return; }
else {a[i][j] = 4; return; } }
}
}
}
}
void yes( ) //游戲是否結束
{ for (int i = 0; i < 4; i++)
{for (int j = 0; j < 3; j++)
{if (a[i][j] == a[i][j + 1] || a[j][i] == a[j + 1][i]) {over = 0; return; }}
}
over = 1;
}
void gtxy(int x, int y) //控制游標位置的函數
{ COORD zb; //zb代指坐標
zb.X = x;
zb.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), zb);
}
『柒』 C語言:猜數問題!!
部分測試
『捌』 C語言編程 猜數游戲
#include
#include
//用到了rand函數,所以要有這個頭文件
#include
//用到了time函數,所以要有這個頭文件
int
main()
{
int
number;
//number用於存儲隨機數
int
guess=0;
//guess用於存儲玩家猜的數
srand((unsigned)
time(null));//用系統時間作為rand函數使用的種子
number=rand()%100;
//隨機除以100,取余數
number++;
//余數加1
printf("猜數字游戲\n");
printf("該數字在1到100之間\n");
while(guess!=number)
{
printf("請輸入您所猜的數:");
scanf("%d",&guess);
//如果玩家猜的數較小,給予提示
if
(guess
number)
{
printf("大了\n");
}
}
//猜中則循環結束,輸出猜中的數字
printf("猜對了,這個數字就是:%d\n",number);
return
0;
}