用星号打印各种图形及参考答案 【4.4】输入n 值,输出如图所示矩形。 【4.5】输入n 值,输出如图所示平行四边形。 【4.6】输入n 值,输出如图所示高为 n 的等腰三角形。 【4.7】输入n 值,输出如图所示高为 n 的等腰三角形。 【4.8】输入n 值,输出如图所示高和上底均为n 的等腰梯形。 【4.9】输入n 值,输出如图所示高和上底均为n 的等腰空心梯形。 【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】编写程序,输出如图所示sin(x) 函数 0 到 2π 的图形。 【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。 【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。若屏幕的横向为 x 轴,纵向为 y 轴, 在屏幕上显示 0~360度的cos(x )曲线与直线 x=f(y)=45*(y-1)+31 的迭加图形。其中 cos 图形用"*"表示,f(y)用"+"表示,在两个图形的交点处则用 f(y)图形的符号。 【4.4】分析:打印此图形用两重循环实现。 图形要重复 n 行,故采用循环结构实现循环n 次,循环体内部打印一行'*'号,把上述思路表示为: for(i=1;i<=n;i++) 打印一行'*'号; 每行有 n 个'*'号,再采用循环结构实现n 次循环,循环内部用格式输出语句打印一个'*'号,即: for(j=1;j<=n;j++) printf("*"); 按照上述思路,实现打印矩形。 参考答案: main() { int i,j,n; printf("\nPlease Enter n:"); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) printf("*"); printf("\n"); } } 【4.5】分析:此图形和上题的区别在于在每一行先要打印空格,然后再打印n 个'*'号,在上题第一层循环体内打印'*'号的循环前面增加一个循环打印空格。每行空格的个数是逐行减少的,由于第一层循环的控制变量 i 是逐行增 1,所以用一个固定值的数减去 i 就可实现对空格个数的控制,在此题中固定值可使用变量 n。 参考答案: main( ) { int i,j,n; printf("\nPlease Enter n:"); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) printf(" "); for(j=1;j<=n;j++) printf...