发布网友
共5个回答
热心网友
首先图案是有n行,利用i循环每次输出一行,假定输入5,要注意的是,每行i的取值是: 5,4,3,2,追问for 循环里的 k j 是怎么回事
追答k和j是内循环临时变量,用来控制空格循环和星号循环次数,这里是c++的写法,如果是c语言,可以在定义n处一次性将i和j都定义了,内循环均采用变量j即可。
热心网友
这是一个双层循环,外层循环用来控制输出几行,在内循环中分成两个部分,前面一部分控制输出若干个空格,然后紧跟着输出连续一串的星号,最后换行。
热心网友
给你一个输出来是正的正三角行图案:
/*输出一个正的正三角行图形*/
#include<stdio.h>
void main()
{ int i, j, x, n, count, k , m , q , p , v ;
scanf(“%d%d”,&n,&x);
count=1;k=10;
while(x-k>=0)
{count++;k*=10;}
/*count 的值表示输入数字的位数*/ for(i=1;i<=n;i++)
{ for(m=1;m<=count*(n-i);m++)
putchar(‘ ‘); /*输出count*(n-i)个空格*/
for(j=1;j<=i;j++)
{ printf(“%d”,x);
/*第i行输出i个数字*/
for(p=1;p<=count;p++)
Putchar(‘ ‘); }
/*输出一个数字后,接着输出count个空格*/
for(q=1;q<=count;q++)
putchar(‘\n’); } /*回车换行count 次*/ }
热心网友
你这是用了多个printf函数吧!你可以在一个printf内使用\n(换行符)换行,用Tab缩进!追问解释一下for循环
热心网友
上下五千年集体行了