//之前写的一个打印菱形有点问题,菱形行数不能修改,所以又重新改了一下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 0, b = 0, i = 0, j = 0, k = 0;
printf ("请输入你要打印的菱形的行数:\n");
scanf ("%d",&a);
b = a-(a/2);
//上半部分
//确定行数
for (i=0; i<b; ++i)
{
//输出空格
for (j=i; j<a/2; ++j)
{
printf (" ");
#include <stdlib.h>
int main()
{
int a = 0, b = 0, i = 0, j = 0, k = 0;
printf ("请输入你要打印的菱形的行数:\n");
scanf ("%d",&a);
b = a-(a/2);
//上半部分
//确定行数
for (i=0; i<b; ++i)
{
//输出空格
for (j=i; j<a/2; ++j)
{
printf (" ");
}
//输出*
for(k=0; k<((2*i)+1); ++k)
{
printf ("*");
}
printf ("\n");
}
//下半部分
//确定行数
for(i=0; i<(a/2); ++i)
{
//输出空格
for(j=0; j<i+1; ++j)
{
printf(" ");
}
//输出菱形
for(k=0;k<a-2*i-2; ++k)
{
printf ("*");
}
printf ("\n");
}
system ("pause");
for(k=0; k<((2*i)+1); ++k)
{
printf ("*");
}
printf ("\n");
}
//下半部分
//确定行数
for(i=0; i<(a/2); ++i)
{
//输出空格
for(j=0; j<i+1; ++j)
{
printf(" ");
}
//输出菱形
for(k=0;k<a-2*i-2; ++k)
{
printf ("*");
}
printf ("\n");
}
system ("pause");
return 0;
}