当前位置: 首页 > news >正文

C语言经典100例题(56-60)--画圆;画方;画线

目录

【程序56】题目:画图,学用circle画圆形

【程序57】题目:画图,学用line画直线。

【程序58】题目:画图,学用rectangle画方形。

【程序59】题目:画图,综合例子。

【程序60】题目:画图,综合例子。   


【程序56】
题目:画图,学用circle画圆形

#include "graphics.h"
#include<conio.h>
int main()
{int  i;float j = 1, k = 1;initgraph(640, 480);setbkcolor(YELLOW);cleardevice();for (i = 0;i <= 25;i++){setlinestyle(PS_SOLID, 4);setlinecolor(BLUE);circle(310, 250, k);k = k + j;j = j + 0.3;}_getch();closegraph();//关闭窗口
}

 

【程序57】
题目:画图,学用line画直线。

#include "graphics.h"
#include<conio.h>
int main()
{int i;float x0, y0, y1, x1;float j = 12, k;initgraph(640, 480);setbkcolor(GREEN);cleardevice();x0 = 263;y0 = 263;y1 = 275;x1 = 275;for (i = 0;i <= 18;i++){setlinestyle(PS_SOLID, 4);setlinecolor(BLUE);line(x0, y0, x0, y1);x0 = x0 - 5;y0 = y0 - 5;x1 = x1 + 5;y1 = y1 + 5;j = j + 10;}x0 = 263;y1 = 275;y0 = 263;for (i = 0;i <= 20;i++){setlinestyle(PS_SOLID, 4);setlinecolor(BLUE);line(x0, y0, x0, y1);x0 = x0 + 5;y0 = y0 + 5;y1 = y1 - 5;}_getch();closegraph();//关闭窗口
}

 

【程序58】
题目:画图,学用rectangle画方形。

  
程序分析:利用for循环控制100 - 999个数,每个数分解出个位,十位,百位。

#include <graphics.h>
#include<conio.h>
int main()
{int x0, y0, y1, x1, i;initgraph(640, 480);setbkcolor(YELLOW);cleardevice();x0 = 263;y0 = 263;y1 = 275;x1 = 275;for (i = 0;i <= 18;i++){setlinestyle(PS_SOLID, 4);setlinecolor(BLUE);rectangle(x0, y0, x1, y1);x0 = x0 - 5;y0 = y0 - 5;x1 = x1 + 5;y1 = y1 + 5;}setcolor(2);circle(269, 269, 137);_getch();closegraph();//关闭窗口
}

 

【程序59】
题目:画图,综合例子。

# define PAI 3.1415926
# define B 0.809
# include "graphics.h"
#include "math.h"
#include<conio.h>
int main()
{int i, j, k, x0, y0, x, y;float a;initgraph(640, 480);setlinestyle(PS_SOLID, 3);setlinecolor(BLUE);setbkcolor(GREEN);cleardevice();x0 = 150;y0 = 100;circle(x0, y0, 10);circle(x0, y0, 20);circle(x0, y0, 50);for (i = 0;i < 16;i++){a = (2 * PAI / 16) * i;x = ceil(x0 + 48 * cos(a));y = ceil(y0 + 48 * sin(a) * B);setlinestyle(PS_SOLID, 3);setlinecolor(BLUE);line(x0, y0, x, y);}setcolor(3);circle(x0, y0, 60);/* Make 0 time normal size letters */_getch();setfillstyle(10, YELLOW);floodfill(202, 100, WHITE);_getch();for (k = 0;k <= 500;k++){setlinestyle(PS_SOLID, 4);setlinecolor(BLUE);for (i = 0;i <= 16;i++){a = (2 * PAI / 16) * i + (2 * PAI / 180) * k;x = ceil(x0 + 48 * cos(a));y = ceil(y0 + 48 + sin(a) * B);setlinestyle(PS_SOLID, 3);setlinecolor(BLUE);line(x0, y0, x, y);}for (j = 1;j <= 50;j++){a = (2 * PAI / 16) * i + (2 * PAI / 180) * k - 1;x = ceil(x0 + 48 * cos(a));y = ceil(y0 + 48 * sin(a) * B);line(x0, y0, x, y);}}restorecrtmode();_getch();closegraph();//关闭窗口
}

 

【程序60】
题目:画图,综合例子。
   

#include "graphics.h"
#include<conio.h>
#define LEFT 0
#define TOP 0
#define RIGHT 639
#define BOTTOM 479
#define LINES 400
#define MAXCOLOR 15
int main()
{int error=0;int x1, y1;int x2, y2;int dx1, dy1, dx2, dy2, i = 1;int count = 0;int color = 0;initgraph(640, 480);x1 = x2 = y1 = y2 = 10;dx1 = dy1 = 2;dx2 = dy2 = 3;while (!_kbhit()){line(x1, y1, x2, y2);x1 += dx1;y1 += dy1;x2 += dx2;y2 + dy2;if (x1 <= LEFT || x1 >= RIGHT)dx1 = -dx1;if (y1 <= TOP || y1 >= BOTTOM)dy1 = -dy1;if (x2 <= LEFT || x2 >= RIGHT)dx2 = -dx2;if (y2 <= TOP || y2 >= BOTTOM)dy2 = -dy2;if (++count > LINES){setlinestyle(PS_SOLID, 0);setlinecolor(BLUE);color = (color >= MAXCOLOR) ? 0 : ++color;}}closegraph();_getch();closegraph();//关闭窗口
}

相关文章:

C语言经典100例题(56-60)--画圆;画方;画线

目录 【程序56】题目&#xff1a;画图&#xff0c;学用circle画圆形 【程序57】题目&#xff1a;画图&#xff0c;学用line画直线。 【程序58】题目&#xff1a;画图&#xff0c;学用rectangle画方形。 【程序59】题目&#xff1a;画图&#xff0c;综合例子。 【程序60】题…...

linux相关知识以及有关指令3

在linux的世界中我们首先要有万物皆文件的概念&#xff0c;那么在系统中有那么多的文件&#xff0c;我们该怎么区分呢&#xff1f;文章目录 1. 文件分类2. 文件的权限1). 拥有者和所属组以及other2). 文件的权限3). 粘滞位4). 对于权限修改的拓展知识点a.修改权限b.修改拥有者所…...

关于Synchronized

Synchronized用于实现线程间的同步。它可以被用于方法或代码块上&#xff0c;确保同一时间只有一个线程可以访问被 synchronized 修饰的代码&#xff0c;也就是常说的锁&#xff0c;synchronized有三点作用 1&#xff09;实现线程安全&#xff1a;通过使用 synchronized&#x…...

深度学习(Python)学习笔记2

第二章 感知机 2.1 感知机是什么 感知机接收多个输入信号,输出一个信号。 感知机的信号会形成流,向前方输送信息。 感知机的信号只有“流/不流”(1/0)两种取值。 本学习笔记中,0对应“不传递信号”,1对应“传递信号”。 图中、是输入信号,是输出信号,、是权重。图…...

gitlab操作

1. 配置ssh 点击访问 2. 创建新分支与切换新分支 git branch 新分支名 // 创建 git checkout 新分支名 // 切换到新分支3. 查看当前分支 git branch*所指的就是当前所在分支 4. 本地删除文件后与远程git同步 git add -A git commit -m "del" git push...

docker day04

Dockerfile: - FORM: 1.指定基础镜像&#xff0c;可以起别名&#xff0c;也可以指定多个FROM指令&#xff0c;用于多阶段构建; 2.加载触发器&#xff0c;加载ONBUILD指令; 3.不指定基础镜像&#xff0c;声明当前镜像不依赖任何镜像&#xff0c;官方…...

任意区域的色彩一致性处理方法

影像任意感兴趣区域的色彩一致性处理方法&#xff0c;主要是针对掩膜后的影像&#xff0c;类似下图&#xff0c;对非背景区域的像素进行处理 其中非黑色部分我们叫待匀色区域。 这种处理 对于wallis 和直方图匹配 很容易实现&#xff0c;但是颜色转移就相对而言 困难点。 颜…...

听GPT 讲Istio源代码--pilot

File: istio/operator/pkg/translate/translate.go 在Istio项目中&#xff0c;istio/operator/pkg/translate/translate.go文件的作用是处理Istio Operator的配置信息和Kubernetes的资源对象之间的翻译和转换。 首先&#xff0c;scope和componentToAutoScaleEnabledPath是用于记…...

pdfjs解决ie浏览器预览pdf问题

pdfjs是一个js库&#xff0c;可以将pdf文件用canvas重新绘制&#xff0c;从而无需借助pdf读取插件就可以直接预览。 目前chrome内核的浏览器已内置pdf读取插件&#xff0c;但ie浏览器还没有。而我们最近在做的一个项目使用对象是医院&#xff0c;使用的浏览器竟然还是ie。所以我…...

千里共婵娟 | 结合微信公众号用JavaScript完整开发实现换中秋头像的功能

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责…...

pt26django教程

admin 后台数据库管理 django 提供了比较完善的后台管理数据库的接口&#xff0c;可供开发过程中调用和测试使用 django 会搜集所有已注册的模型类&#xff0c;为这些模型类提拱数据管理界面&#xff0c;供开发者使用 创建后台管理帐号: [rootvm mysite2]# python3 manage.…...

javabasic

计算机基础 一、学前知识 1. 计算机组成 2. 进制的概念 &#xff08;1&#xff09;二进制的存储 计算机不管是内存还是硬盘&#xff0c;都是以二进制的形式存储。如同一张巨大的表格&#xff0c;里面都是由0和1组成。 二进制&#xff1a;逢2进1 基数为2&#xff0c;数值部分…...

电子词典项目

目录 目录 头文件&#xff1a;dict.h: 源文件&#xff1a;dict.c: 服务器测试文件&#xff1a;serDict.c: 客户端测试文件&#xff1a;cliDict.c: 头文件&#xff1a;dict.h: #ifndef __DICT_H__ #define __DICT_H__ #include<myhead.h> #include<sqlite3.h>#de…...

SQL12 高级操作符练习(2)

描述 题目&#xff1a;现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研&#xff0c;请你取出相关数据&#xff08;使用OR实现&#xff09; 示例&#xff1a;user_profile iddevice_idgenderageuniversitygpa12138male21北京大学3.423214male复旦大学4.03…...

python写代码过程中的坑230915

1.解释代码IndentationError: expected an indented block 这个错误通常是由于代码缩进错误导致的。 在Python中,代码块(如循环、条件语句、函数等)通常使用缩进来表示。因此,如果你在期望缩进的位置没有正确缩进代码,就会出现"IndentationError: expected an inden…...

SpringBoot课堂笔记20230913

本篇文章为SpringBoot学习笔记&#xff0c;方便自己再复习。 Maven&#xff1a;jar包管理工具 注解&#xff1a; Controller:处理http请求&#xff0c;返回的视图 RestController: 相当于ResponseBody和Controller一起用&#xff0c;返回的是json ResponseBody:返回响应内容 …...

3D数字孪生:从3D数据采集到3D内容分析

数字孪生&#xff08;Digital Twin&#xff09;是物理对象、流程或系统的虚拟复制品&#xff0c;用于监控、分析和优化现实世界的对应物。 这些数字孪生在制造、工程和城市规划等领域变得越来越重要&#xff0c;因为它们使我们能够在现实世界中实施改变之前模拟和测试不同的场景…...

【杂记】git管理工具的相关应用

这里记录一些用git管理工具进行开发的命令&#xff0c;便于自己查看&#xff0c;我认为下面两篇博客写的很详细&#xff0c;但是为了自己方便查看&#xff0c;所以自己写了一些命令供自己进一步理解。gitee相对git来说更方便一些&#xff08;毕竟国内的不用担心墙&#xff09;&…...

看好多人都在劝退学计算机,可是张雪峰又 推荐过计算机,所以计算机到底是什么样 的?

张雪峰高考四百多分&#xff0c;但是他现在就瞧不起400多分的学生。说难听点&#xff0c;六七百分的 热门专业随便报谁不会啊&#xff1f; 计算机专业全世界都是过剩的&#xff0c;今年桂林电子科技&#xff0c;以前还是华为的校招大学&#xff0c;今年 计算机2/3待业。这个世…...

leetcode 26.删除有序数组中的重复项

给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c;你需要做…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...