Discuz! Board

 找回密码
 立即注册
查看: 581|回复: 1

12.15 排序

[复制链接]

54

主题

66

帖子

574

积分

高级会员

Rank: 4

积分
574
发表于 2022-12-15 19:36:06 | 显示全部楼层 |阅读模式
[C++] 纯文本查看 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[10],MIN=0;
int main()
{
	srand(time(0));
	for(int i=0;i<10;i++)
	{
		a[i]=rand()%(100-1)+1;
		cout<<a[i]<<" ";
	}
	cout<<endl;
	for(int j=0;j<10;j++)
	{
		MIN=j;
		for(int k=1;k<10;k++)
		{
			if(a[MIN]>a[k])MIN=k;
		}
		swap(a[j],a[MIN]);
	}
	for(int m=0;m<10;m++)
	{
		cout<<a[m]<<" ";
 	}
	return 0;
}

[C++] 纯文本查看 复制代码
#include <graphics.h>
#include <time.h>
#include <bits/stdc++.h>
using namespace std;
int s=-2;
int t=10,speed_1=1;
int height=600,width=800;
int wall_w=50;
int wall_pass=200;
int grade=0;
char ch;
float rnx(int min,int max)
{
    float t;
    t=rand()%(max-min)+min;
    return t;
}
struct ballon
{
    int r;
    double g,y,vy,x; 
}ball;
struct wall
{
    double yr,yl,xr,xl,vx,t;
}wall[2];
void start()
{
    srand(time(0));
    initgraph(width, height);
    setcolor(BLACK); 
    setbkcolor(YELLOW);
    srand(time(0));
    setbkmode(TRANSPARENT);
    ball.y=50;
    ball.x=100;
    ball.vy=0.5;
    ball.r=10;
    ball.g=0.2;
    wall[0].xl=width-50;
    wall[0].xr=width;
    wall[0].yl=0;
    wall[0].yr=rnx(50,300);
    wall[1].xl=width-50;
    wall[1].xr=width;
    wall[1].yl=wall[0].yr+250;
    wall[1].yr=600;
}
int game_over()
{
    if((ball.y-ball.r<=wall[0].yr)||(ball.y+ball.r>=wall[1].yl))
    {
        if(ball.x>=wall[1].xl&&ball.x<=wall[1].xr)
        {
            return 1;
        }
    }
    return 0;
}
void draw_ball()
{
    setcolor(BLACK); 
    setfont(20,0,"楷体");
    xyprintf(20,20,"分数:%d",grade);
    xyprintf(20,40,"速度:%d",speed_1);
    ball.vy+=ball.g;
    ball.y+=ball.vy;
    if(kbhit())
    {
        ch = getch();
        if(ch==' ')
        {
            ball.vy=-6;
        } 
    }
    if(ball.y>=height-ball.r)
    {
        ball.vy=-ball.vy;
        ball.y=height-ball.r;
    }
    if(ball.y<=ball.r)
    {
        ball.vy=-ball.vy;
    }
    setfillcolor(RED);
    fillellipse(ball.x, ball.y,ball.r,ball.r);
      
}
void draw_wall()
{
    setfillcolor(RED);
    for(int i=0;i<2;i++)
    {
        wall[i].vx=s;
        wall[i].xl+=wall[i].vx;
        wall[i].xr+=wall[i].vx;
        if(wall[i].xr==0)
        {
            grade++;
            wall[0].yr=rnx(50,300);
            wall[1].yl=wall[0].yr+250;
            wall[i].xl=width-50;
            wall[i].xr=width;
        }
        bar(wall[i].xl,wall[i].yl,wall[i].xr,wall[i].yr);
    }
}
void speed()
{
    if(grade==t)
    {
        speed_1++;
        s=s*2;
        t=t+10;
    }
}          
int main()
{
    start();
    while(1)
    {   
        cleardevice();
        draw_wall();
        draw_ball();
        Sleep(10);
        if(game_over()==1)
        {
            break;
        }
        speed();
    }
    getch();
    return 0;
}//flybird简单
回复

使用道具 举报

719

主题

906

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11898
发表于 2022-12-15 20:33:07 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[10],MIN=0;
int main()
{
    srand(time(0));
    for(int i=0;i<10;i++)
    {
        a[i]=rand()%(100-1)+1;
        cout<<a[i]<<" ";
    }
    cout<<endl;
    for(int j=0;j<10;j++)
    {
        MIN=j;
        for(int k=j+1;k<10;k++)// k不是从1开始 
        {
            if(a[MIN]>a[k])MIN=k;
        }
        swap(a[j],a[MIN]);
    }
    for(int m=0;m<10;m++)
    {
        cout<<a[m]<<" ";
    }
    return 0;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-7-18 07:49 , Processed in 0.060798 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表