全文预览

c语言星号打印矩形、三角形、菱形等图案及参考答案

上传者:相惜 |  格式:doc  |  页数:11 |  大小:0KB

文档介绍
AI/180.0) ; /* 计算对应的列*/ yy= 40>y ? 40:y; /* 下一行要打印的字符总数*/ for (i=1 ; i<=yy ; i++) /* 控制输出图形中的一行*/ { if(i==y) printf("*") ; /*i 控制打印的列位置*/ else if(i==40) printf("|") ; /* 打印中心的竖线*/ else printf(" "); } printf("\n") ; }}【 4.18 】分析:首先设计屏幕图形,如果预计圆形在屏幕上打印 20 行,所以定义圆的直径就是 20 ,半径为 10 ,圆的方程是 X2 × Y2=R2, 因为图形不是从中心开始打印而是从边沿开始, 所以 Y从 10 变化到-10 , 根据方程求出 X, 对求得的 X 值再根据屏幕行宽进行必要的调整得到应打印的屏幕位置。参考答案: #include <math.h> main( ){ double y; int x,m ; for(y=10 ; y>=-10 ; y--) /* 圆的半径为 10 */ {m= 2.5 * sqrt(100-y*y) ; /* 计算行 y 对应的列坐标 m */ for(x=1 ; x<30-m ; x++) printf(" "); /* 输出圆左侧的空白*/ printf("*") ; /* 输出圆的左侧*/ for( ; x<30+m ; x++) printf(" "); /* 输出圆的空心部分*/ printf("*\n") ; /* 输出圆的右侧*/ }}【 4.19 】参考答案: #include <stdio.h> #include <math.h> main( ){ double y; int x, m, n, yy; for( yy=0 ; yy<=20 ; yy++) {y= 0.1*yy ;

收藏

分享

举报
下载此文档