C++屏幕为文本方式(80X25),原点位于屏幕左上角,在屏幕上随机产生十个点并且显示出来(用“☆”)。找出离原点最近的一个点,显示为“★”
程序员文章站
2022-05-20 21:34:34
...
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<windows.h>
using namespace std;
class Print
{
private:
int x,y;
public:
void gotoxy(int x,int y)
{
HANDLE h;
COORD c;
c.X=x;
c.Y=y;
h=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(h,c);
}
void print1(int x1,int y1)
{
gotoxy(x1,y1) ;
cout<<"★";
}
void print2(int x2,int y2)
{
gotoxy(x2,y2);
cout<<"☆";
}
void printf()
{
int a[10];
int min;
int x[10],y[10];
int i;
srand(time(0));
for( i=0;i<10;++i)
{
x[i]=rand()%80+1;
y[i]=rand()%25+1;
a[i]=x[i]*x[i]+y[i]*y[i];
}
min=a[0];
int k=0;
for(i=0;i<10;++i)
{
if(a[i]<min)
{
min=a[i];
k=i;
}
}
for(i=0;i<10;++i)
{
if(k==i)
print1(x[i],y[i]);
else
print2(x[i],y[i]);
}
}
};
int main()
{
Print p;
p.printf();
}
上一篇: 二叉树的前序遍历(非递归)