#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=2*n-1;j++)
{
if(j==n+1-i||j==n+i-1) printf("*");
else printf(" ");
}
printf("\n");
}
for(i=n-1;i>=1;i--)
{
for(j=2*n-1;j>=1;j--)
{
if(j==n+1-i||j==n+i-1) printf("*");
else printf(" ");
}
printf("\n");
}
return 0;
}
以及之前的输出菱形(看了b站某位大佬的试错式解法,受益匪浅呀~)
数字菱形(函数法)
#include<stdio.h>
#include<stdlib.h>
void PrintSpace (int n);
void PrintLine (int n);
int main ()
{
int n, i;
scanf("%d", &n);
for(i = - (n -1); i <= n-1; i++)
{
PrintSpace(abs(i));
PrintLine(n - abs(i));
}
return 0;
}
void PrintSpace(int n)
{
while(n--)
printf(" ");
}
void PrintLine(int n)
{
int i;
for(i = -(n - 1); i <= n-1;i++)
{
printf("%d", n - abs(i));
}
printf("\n");
}自存 菱形数字版