《c语言星号编辑打印矩形-三角形-菱形等图案及其参考.答案.doc》由会员分享,可在线阅读,更多相关《c语言星号编辑打印矩形-三角形-菱形等图案及其参考.答案.doc(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、用星号打印各种图用星号打印各种图 形及参考答案形及参考答案【4.4】输入输入 n 值,输出如图所示矩形。值,输出如图所示矩形。【4.5】输入输入 n 值,输出如图所示平行四边形。值,输出如图所示平行四边形。【4.6】输入输入 n 值,输出如图所示高为值,输出如图所示高为 n 的等腰三角形。的等腰三角形。【4.7】输入输入 n 值,输出如图所示高为值,输出如图所示高为 n 的等腰三角形。的等腰三角形。【4.8】输入输入 n 值,输出如图所示高和上底均为值,输出如图所示高和上底均为 n 的等腰梯形。的等腰梯形。【4.9】输入输入 n 值,输出如图所示高和上底均为值,输出如图所示高和上底均为 n 的
2、等腰空心梯形。的等腰空心梯形。【4.10】输入输入 n 值,输出如图所示边长为值,输出如图所示边长为 n 的空心正六边型。的空心正六边型。【4.11】输入输入 n 值,输出如图所示图形。值,输出如图所示图形。【4.12】输入输入 n 值,输出如图所示图形。值,输出如图所示图形。【4.13】输入输入 n 值,输出如图所示图形。值,输出如图所示图形。【4.14】输入输入 n 值,输出如图所示图形。值,输出如图所示图形。【4.15】输入输入 n 值,输出如图所示图形。值,输出如图所示图形。【4.16】输入输入 n 值,输出如图所示图形。值,输出如图所示图形。 (例为(例为 n=6 时)时)【4.17
3、】编写程序,输出如图所示编写程序,输出如图所示 sin(x) 函数函数 0 到到 2 的图形。的图形。【4.18】编写程序,在屏幕上输出一个由编写程序,在屏幕上输出一个由*号围成的空心圆。号围成的空心圆。【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。若屏幕的横向为编写程序,在屏幕上绘制如图余弦曲线和直线。若屏幕的横向为 x 轴,纵向为轴,纵向为 y 轴,轴, 在屏幕上在屏幕上显示显示 0360 度的度的 cos(x)曲线与直线曲线与直线 x=f(y)=45*(y-1)+31 的迭加图形。其中的迭加图形。其中 cos 图形用图形用“*“表示,表示,f(y)用用“+“表示,在两个图形的交点
4、处则用表示,在两个图形的交点处则用 f(y)图形的符号。图形的符号。【4.4】分析:打印此图形用两重循环实现。分析:打印此图形用两重循环实现。 图形要重复图形要重复 n 行,故采用循环结构实现循环行,故采用循环结构实现循环 n 次,循环体内部打印一行次,循环体内部打印一行*号号,把上述思路表把上述思路表 示为:示为: for(i=1;in-i+1 & (i=1|i=n) printf(“*“); else printf(“ “); printf(“*n“); 【4.10】分析:此图形可以理解为两个空心梯形反向连接而成,因此可以利用上题的思路分析:此图形可以理解为两个空心梯形反向连接而成,因此可
5、以利用上题的思路 进行输出。进行输出。 参考答案:参考答案: main( ) int i,j,n; printf(“nPlease Enter n:“); scanf(“%d“,&n); for(i=1;in-i+1 & i=1) printf(“*“); else printf(“ “); printf(“*n“); for(i=1;ii+1 & i=n-1) printf(“*“); else printf(“ “); printf(“*n“); 【4.12】参考答案:参考答案: main( ) int i,j,n; printf(“nPlease Enter n:“); scanf(“%
6、d“,&n); for(i=1;in-i) printf(“*“); else printf(“ “); printf(“n“); for(i=1;ii) printf(“*“); else printf(“ “); printf(“n“); 【4.16】参考答案:参考答案: main( ) int i,j,n; printf(“nPlease Enter n: “); scanf(“%d“,&n); for(i=1;imain( ) double x; int y,i,yy; for(i=1;iy ? 40 : y; /* 下一行要打印的字符总数下一行要打印的字符总数 */ for (i=1
7、;i 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 #include main( ) double y; int x, m, n, yy; for( yy=0;yy=20;yy+) y = 0.1*yy;m = acos(1-y)*10; n = 45 * (y-1)+31; for( x=0;x=62;x+ ) if( x=m & x=n ) printf(“+“); else if(x=n) printf(“+“); else if(x=m | x=62-m) printf(“*“); else printf(“ “); printf(“n“);