如何用c语言编写一个程序,输出一张笑脸?
2个回答
展开全部
先在程序定义一个在屏幕中运动的点的结构:
struct
move_point
{
int
x,
y;/*该点的位置,包括x坐标和y坐标*/
int
xv,
yv;/*该点在x轴、y轴的速度*/
};
运动的原理是,先擦去物体先前的轨迹,让物体按其速度移动一段距离,再画出该物体让我们看到以下代码:
gotoxy(man.x,
man.y);/*把光标移到指定的坐标*/
printf(““);/*输出一个空格,把先前的字符擦去*/
然后我们让物体按其速度运动:
man.x
+=
man.xv;/*水平方向按x轴的速度运动*/
man.y
+=
man.yv;/*垂直方向按y轴的速度运动*/
运动后还要判断物体是否出界,如果出了界,就令物体反弹,即让它下一刻的速度等于现在的速度的相反数最后打印出这个笑脸:
gotoxy(man.x,
man.y);
printf(“%c\b”,
2);
/*输出ascii码值为2的“笑脸”字符*/
struct
move_point
{
int
x,
y;/*该点的位置,包括x坐标和y坐标*/
int
xv,
yv;/*该点在x轴、y轴的速度*/
};
运动的原理是,先擦去物体先前的轨迹,让物体按其速度移动一段距离,再画出该物体让我们看到以下代码:
gotoxy(man.x,
man.y);/*把光标移到指定的坐标*/
printf(““);/*输出一个空格,把先前的字符擦去*/
然后我们让物体按其速度运动:
man.x
+=
man.xv;/*水平方向按x轴的速度运动*/
man.y
+=
man.yv;/*垂直方向按y轴的速度运动*/
运动后还要判断物体是否出界,如果出了界,就令物体反弹,即让它下一刻的速度等于现在的速度的相反数最后打印出这个笑脸:
gotoxy(man.x,
man.y);
printf(“%c\b”,
2);
/*输出ascii码值为2的“笑脸”字符*/
展开全部
这个笑脸算吗呵呵
#include<stdio.h>
#include <Windows.h>
struct move_point
{
int x,y;
int xv,yv;
}man;
void gotoxy(int x, int y) //x为列坐标,y为行坐标
{
COORD pos = {x,y};//定义坐标
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);//设置一个句柄
SetConsoleCursorPosition(hOut, pos);
}
void main()
{
int i;
gotoxy(10, 10);
printf("%c", 2);
for(i = 0; i < 40; i++)
{
gotoxy(10 + i, 10);
printf(" ");
printf("%c", 2);
Sleep(100);
}
}
#include<stdio.h>
#include <Windows.h>
struct move_point
{
int x,y;
int xv,yv;
}man;
void gotoxy(int x, int y) //x为列坐标,y为行坐标
{
COORD pos = {x,y};//定义坐标
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);//设置一个句柄
SetConsoleCursorPosition(hOut, pos);
}
void main()
{
int i;
gotoxy(10, 10);
printf("%c", 2);
for(i = 0; i < 40; i++)
{
gotoxy(10 + i, 10);
printf(" ");
printf("%c", 2);
Sleep(100);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询