‘壹’ 猜数游戏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;
}