在C中,可以使用嵌套的for循环来输出菱形。以下是几种不同的方法:
方法1:打印上半部分和下半部分
```csharp
using System;
class Program
{
static void Main()
{
int lineCount = 17; // 输出的菱形有多少行,请赋值成奇数
int maxLineNum = (lineCount + 1) / 2; // 菱形最多一行
// 打印上半部分
for (int i = 1; i <= maxLineNum; i++)
{
// 打印空格
for (int space = 1; space <= maxLineNum - i; space++)
{
Console.Write(" ");
}
// 打印星号
for (int star = 1; star <= (i * 2) - 1; star++)
{
Console.Write("* ");
}
Console.WriteLine();
}
// 打印下半部分
int declineCount = lineCount - maxLineNum;
for (int i = 1; i <= declineCount; i++)
{
// 打印空格
for (int space = 1; space <= maxLineNum - i; space++)
{
Console.Write(" ");
}
// 打印星号
for (int star = 1; star <= (i * 2) - 1; star++)
{
Console.Write("* ");
}
Console.WriteLine();
}
}
}
```
方法2:输入边长输出实心菱形
```csharp
using System;
class Program
{
static void Main()
{
Console.Write("请输入菱形的边长: ");
int a = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= a; i++)
{
for (int b = 1; b <= a - i; b++)
{
Console.Write(" ");
}
for (int c = 1; c <= 2 * i - 1; c++)
{
Console.Write("*");
}
Console.WriteLine();
}
for (int i = 1; i <= a - 1; i++)
{
for (int b = 1; b <= i; b++)
{
Console.Write(" ");
}
for (int c = 1; c <= 2 * (a - i) - 1; c++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
}
```
方法3:输入大小输出空心菱形
```csharp
using System;
class Program
{
static void Main()
{
Console.Write("请输入菱形的大小: ");
int size = int.Parse(Console.ReadLine());
for (int i = 1; i <= size; i++)
{
for (int j = 1; j <= size - i; j++)
{
Console.Write(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
Console.Write("*");
}
Console.WriteLine();
}
for (int i = 1; i <= size - 1; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write(" ");
}
for (int k = 1; k <= 2 * (size - i) - 1; k++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
}
```
这些方法都可以用来在C中输出菱形,你可以根据自己的需求选择合适的方法。