return 0;
}
照你思路改了一下
#include <stdio.h>
int main()
{
int n, i, j, k;
char ch;
scanf("%c %d", &ch, &n);
if (ch != '@')
{
for (i = 1; i <= n; i++)
{
for (j = 1; j <= (n - i); j++)
{
printf(" ");
}
if (i==n)
{
for (k = 1; k <= 2 * i - 1; k++)
{
printf("%c", ch);
}
}
else
{
for (k = 1; k <= 2 * i - 1; k++)
{
if (k==1||k==2*i-1)
{
printf("%c", ch);
}
else{
printf(" ");
}
}
}
for (j = 1; j <= (n - 1); j++)
{
printf(" ");
}
printf("\n");
}
}
return 0;
}
从运行来说首先 你的如2n-1应写为2*n-1,否则报错
从逻辑上记得分清楚i和n之间的不同
你照着理解一下