控制台打印圆

/******************************
作者:cncoderalex
博客:http://blog.youkuaiyun.com/cncoderalex
*******************************/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void PrintCircle()
{
	printf("http://blog.youkuaiyun.com/cncoderalex");
	printf("\n\n");
	
	for(int y = 10; y >= -10; y--)
	{
		int x = 2.5 * (int)sqrt(double(100 - y * y));
		int m;
		for(m = 1; m < 30 - x; m++)
			printf(" ");
		printf("*");
		for(; m < 30 + x; m++)
			printf(" ");
		printf("*");
		printf("\n");
	}

}

int main()
{
	PrintCircle();
	system("pause");
	return 0;
}



本文地址:http://blog.youkuaiyun.com/cncoderalex/article/details/43266289   转载请标明出处,谢谢。

### 如何在控制台绘制或打印图形 #### 使用 Python 的 Turtle 库绘制图形 Turtle 是一种用于绘图的经典库,它可以通过简单的命令实现复杂的图案绘制。尽管 Turtle 主要用于 GUI 环境下的绘图,但在某些情况下也可以模拟控制台输出的效果。 以下是使用 Turtle 绘制简单线条的一个例子[^1]: ```python import turtle # 创建一个 Turtle 对象 t = turtle.Turtle() # 设置画笔的颜色和宽度 t.color("blue") t.width(2) # 移动画笔并绘制一条线 t.forward(100) # 向前移动 100 单位 t.right(90) # 右转 90 度 t.forward(50) # 再向前移动 50 单位 # 隐藏海龟图标 t.hideturtle() ``` 虽然上述代码无法直接运行于纯文本环境(如控制台),但它展示了如何利用编程语言中的绘图功能构建基本形状。 --- #### 在控制台中绘制字符图形 对于完全基于文本的环境,可以采用字符串拼接的方式,在控制台中绘制由 ASCII 字符组成的图形。这种方式不依赖任何外部库,仅需逻辑清晰地排列字符即可完成目标图形的呈现[^2]。 下面是一个示例程序,展示如何根据用户输入的高度和宽度参数动态生成矩形: ```python def draw_rectangle(width, height): """在控制台绘制指定宽高的矩形""" for i in range(height): # 循环每一行 if i == 0 or i == height - 1: # 如果是首行或末行,则填充星号 print("*" * width) else: # 中间部分两侧有星号,中间为空白 print("*" + " " * (width - 2) + "*") # 用户交互 try: w = int(input("请输入矩形的宽度:")) h = int(input("请输入矩形的高度:")) draw_rectangle(w, h) except ValueError: print("请输入有效的整数!") ``` 此脚本允许用户定义矩形的具体大小,并自动调整其外观以匹配给定规格。 --- #### 扩展至更复杂图形 除了矩形之外,还可以尝试更多类型的几何结构,比如三角形、菱形甚至形近似物。这些都需要更加精细的位置计算以及灵活运用循环语句来管理重复单元格布局过程。 例如,这里提供了一个简易版本的心型图案制作方案作为参考: ```python def draw_heart(): """在控制台绘制心型图案""" size = 7 # 图案规模因子 # 上半部弧 for row in range(size // 2, size + 1, 2): spaces = ' ' * ((size - row) // 2) symbols = '*' * row print(spaces + symbols + spaces[::-1]) # 下半部尖端 for row in range(size // 2, 0, -2): spaces = ' ' * ((size - row) // 2) symbols = '*' * row print(spaces + symbols + spaces[::-1]) draw_heart() ``` 该算法通过逐步增加再减少每层中心区域内的星号数量形成对称轮廓效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值