我遇到了以下question,要求您打印反向金字塔。使用与行号相同的数字,我的所有结果都像反向金字塔,后面是(2i-1)个行中的术语数。
另一个是:
#include <stdio.h>
int main()
{
int i, j, row;
printf ("Enter the no of rows");
scanf ("%d", &row);
for (i = row; i >= 1; i--)
{
for (j = 1; j <= i; j++)
{
printf ("%d", i);
}
printf ("\n");
}
return 0;
}
我应该在上述程序中做出哪些更改才能获得所需的结果。
我做过的一些家庭作业:搜索了几个解释C的网站,并提供了相关的例子。我能得到的最近的是http://www.techcrashcourse.com/2016/01/print-reverse-pyramid-star-pattern-in-c.html
然后添加了一个新循环:
为(K = 3; K&LT =行-I; k ++);
printf(“”);
并多次更改了“K”的初始值,但没有成功。
答案 0 :(得分:0)
它并不是特别容易猜到你的想法,但关于相关问题,应该按如下方式进行:
#include <stdio.h>
int main()
{
int i , j, k, row;
printf ("Enter the no of rows");
scanf ("%d",&row);
for (i=row;i>=1;i--)
{
for(k = 0;k<row - (i-1);k++)
{
printf (" ");
}
for (j=1;j<=i;j++)
{
printf ("%d",i);
printf(" ");
}
printf ("\n");
}
return 0;
}
另外,请在下次发布结果。
答案 1 :(得分:0)
根据您链接中的问题,答案如下:
#include<stdio.h>
int main()
{
int row,i,j,k;
printf("Enter Number of Rows: ");
scanf("%d",&row);
for(i=row;i>0;i--){
for(j=row-i;j>0;j--)
printf(" ");
for(k=1;k<=i+(i-1);k++)
printf("*");
printf("\n");
}
return 0;
}
一行中的星数是该行数与前一行的总和。 例如:如果行号为5,则该行中的数字星号为= 5 + 4 = 9。