#define N 200
#include <graphics.h>
#include <stdlib.h>
#include <dos.h>
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
int i,key
int score=0
int gamespeed=50000
struct Food
{
int x
int y
int yes
}food
struct Snake
{
int x[N]
int y[N]
int node
int direction
int life
}snake
void Init(void)
void Close(void)
void DrawK(void)
void GameOver(void)
void GamePlay(void)
void PrScore(void)
void main(void)
{
Init()
DrawK()
GamePlay()
Close()
}
void Init(void)
{
int gd=DETECT,gm
initgraph(&gd,&gm,"c:tc")
cleardevice()
}
void DrawK(void)
{
setcolor(11)
setlinestyle(SOLID_LINE,0,THICK_WIDTH)
for(i=50i<=600i+=10)
{
rectangle(i,40,i+10,49)
rectangle(i,451,i+10,460)
}
for(i=40i<=450i+=10)
{
rectangle(50,i,59,i+10)
rectangle(601,i,610,i+10)
}
}
void GamePlay(void)
{
randomize()
food.yes=1
snake.life=0
snake.direction=1
snake.x[0]=100snake.y[0]=100
snake.x[1]=110snake.y[1]=100
snake.node=2
PrScore()
while(1)
{
while(!kbhit())
{
if(food.yes==1)
{
food.x=rand()%400+60
food.y=rand()%350+60
while(food.x%10!=0)
food.x++
while(food.y%10!=0)
food.y++
food.yes=0
}
if(food.yes==0)
{
setcolor(GREEN)
rectangle(food.x,food.y,food.x+10,food.y-10)
}
for(i=snake.node-1i>0i--)
{
snake.x[i]=snake.x[i-1]
snake.y[i]=snake.y[i-1]
}
switch(snake.direction)
{
case 1:snake.x[0]+=10break
case 2: snake.x[0]-=10break
case 3: snake.y[0]-=10break
case 4: snake.y[0]+=10break
}
for(i=3i<snake.nodei++)
{
if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0])
{
GameOver()
snake.life=1
break
}
}
if(snake.x[0]<55||snake.x[0]>595||snake.y[0]<55||
snake.y[0]>455)
{
GameOver()
snake.life=1
}
if(snake.life==1)
break
if(snake.x[0]==food.x&&snake.y[0]==food.y)
{
setcolor(0)
rectangle(food.x,food.y,food.x+10,food.y-10)
snake.x[snake.node]=-20snake.y[snake.node]=-20
snake.node++
food.yes=1
score+=10
PrScore()
}
setcolor(4)
for(i=0i<snake.nodei++)
rectangle(snake.x[i],snake.y[i],snake.x[i]+10,
snake.y[i]-10)
delay(gamespeed)
setcolor(0)
rectangle(snake.x[snake.node-1],snake.y[snake.node-1],
snake.x[snake.node-1]+10,snake.y[snake.node-1]-10)
}
if(snake.life==1)
break
key=bioskey(0)
if(key==ESC)
break
else
if(key==UP&&snake.direction!=4)
snake.direction=3
else
if(key==RIGHT&&snake.direction!=2)
snake.direction=1
else
if(key==LEFT&&snake.direction!=1)
snake.direction=2
else
if(key==DOWN&&snake.direction!=3)
snake.direction=4
}
}
void GameOver(void)
{
cleardevice()
PrScore()
setcolor(RED)
settextstyle(0,0,4)
outtextxy(200,200,"GAME OVER")
getch()
}
void PrScore(void)
{
char str[10]
setfillstyle(SOLID_FILL,YELLOW)
bar(50,15,220,35)
setcolor(6)
settextstyle(0,0,2)
sprintf(str,"score:%d",score)
outtextxy(55,20,str)
}
void Close(void)
{
getch()
closegraph()
}
用C语言解决百鸡问题的步骤如下:
1丶打开网页C语言编译环境,或者自己的安装的编译环境。
2丶设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z;用遍历所有可能的方法找出符合条件的解,输入如下图代码。
3丶查看运行结果并分析:有三种可能性。
这样就解决了用C语言解决百鸡问题。
printf("请输入一个整数%d:",x);
printf("最大值为:%dn",x);
printf("最小值为:%d",z);
上面这三句是什么意思?我不明白,根据你的题意,应该用多分支的if语句的格式,即:
if(表达式1)
{语句序列1;}
else if(表达式2)
{语句序列2;}
.
.
.
else
{语句序列n}
代码如下:
#include "stdio.h"
main()
{
int x,y
printf("请输入一个整数nx=")
scanf("%d",&x)
if(x<1) y = x
else if(x>=1&&x<10) y = 2*x-1
else y = 3*x-11
printf("y=%dn",y)
}
#include<stdio.h>
int main()
{
printf("%cn",6)
return 0
}
把ASCII码对应的字符显示出来,其中,6为黑桃,5为草花,4为方片,3为红桃。
以上就是关于c语言程序设计期末作业。全部的内容,如果了解更多相关内容,可以关注醉学网,你们的支持是我们更新的动力!