#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for( j=i ; j<5 ; j++ )
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for( k=0 ; k<2*i-1 ; k++ )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
/*jjjdjdjdjd*/
//sgrgttt
for(i=1;i<8;i++)
{
if(i<5)
{
for(j=i;j<5;j++)
{
printf(" ");
}
for(k=0;k<2*i-1;k++)
{
printf("*");
}
printf("\n");
}
else
{
for(j=0;j<=i-4;j++) 为什么这里(j=i;j>i-3;j--)是错的,输出全是三空格
{
printf(" ");
}
for(k=1;k<=15-2*i;k++) 为什么这里k要等于1,k=0时输出的*不对为什么
{
printf("*");
}
printf("\n");
}
}
return 0;
}
代码是对的
你这个太复杂了用用我这个:
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for(j=i;j<5;j++)
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for(k=0;k<2*i-1;k++)
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}