c语言绘简单图形,图形居中

编写打印菱形和平行四边形两图形的程序。要求:①图形显示在屏幕中间。
②若每隔一行打印图形,如何修改?
③*与*之间加一空格如何外理。
主要是不明白第①个怎么做到,谢谢!

望采纳!!!点击回答右侧采纳即可!!
如果要将图形居中显示,可以在屏幕的中间打印一个占位符,然后再打印图形。

例如,若屏幕的宽度为80个字符,菱形的边长为5,则需要打印35个空格来将图形居中。

代码如下:



#include<stdio.h>

int main()
{
int i,j;
int n=5; //菱形的边长
int m=(n+1)/2; //菱形的高度
int k=(80-n)/2; //屏幕宽度为80,菱形宽度为n,需要打印k个空格居中
for(i=1;i<=m;i++) //打印上半部分
{
for(j=1;j<=k;j++) //打印空格
printf(" ");
for(j=1;j<=n;j++) //每行打印n个字符
{
if(j==m-i+1 || j==m+i-1) //在菱形的边界处打印*
printf("");
else //其他位置打印空格
printf(" ");
}
printf("\n"); //换行
for(j=1;j<=80;j++) //打印一行空格
printf(" ");
printf("\n"); //换行
}
for(i=1;i<=m-1;i++) //打印下半部分
{
for(j=1;j<=k;j++) //打印空格
printf(" ");
for(j=1;j<=n;j++) //每行打印n个字符
{
if(j==i || j==n-i+1) //在菱形的边界处打印
printf("*");
else //其他位置打印空格
printf(" ");
}
printf("\n"); //换行
for(j=1;j<=80;j++) //打印一行空格
printf(" ");
printf("\n"); //换行
}
return 0;
}