正在学c语言,可以用c语言回答吗

img

  1. #include <stdio.h>

int main(){
int a,b,c,d,e;
scanf("%d",&c);
for(a=1;a<=c;a++)
{
for(b=1;b<=a;b++)
{
printf("%d",b);
}
printf("\n");
}
c--;
for(d=c;d>0;d--)
{
for(e=1;e<=d;e++)
{
printf("%d",e);
}
printf("\n");
}

return 0;

}

其实就是每行打印一个数,然后还要控制每行打印的数的个数,可以用两层循环来实现,第一层循环控制要打印的数,第二层控制每行打印的个数,每行输出之后要记得换行,下面的倒三角一样的道理,只不过数从打到小打印,行数也是从多到少 。希望你能理解,如果对算法有兴趣,欢迎关注哦嘿嘿


#include<stdio.h>
#include<stdlib.h>
int main()
{
    int t,n;
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        for(int i=1;i<=n;i++){//每一行输出的数字i 
            for(int j=1;j<=i;j++){//控制每一行元素的个数 
                printf("%d",i);
            }
            printf("\n");//每输出完一行就换行 
        }
        for(int i=1;i<n;i++){//同理每一行输出数字i,但因为输出从n-1到1,所以判断条件是i<n 
            for(int j=n;j>i;j--){//控制每行输出个数,因为输出个数是从多到少了,第一次是n-1(i),第二次是n-2(i),直到1 
                printf("%d",n-i);//i还是从1到n-1,但是输出的数是从n-1到1了,故用n-i
            }
            printf("\n");//每输出完一行就换行 
        }
    }
}

#include<stdio.h>
void Print(int n);
int main()
{
    int n,m;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d",&m);
        Print(m);
    }
    return 0;
}
//打印函数部分
void Print(int n)
{
    int i,k,j;
    //打印上层
    for(i=0; i<n ; i++ )
    {
        for(k=0; k<i; k++)
            printf("%d",i);
        printf("\n");
    }
    //打印下层
    for(; i>0; i--)
    {
        for(k=i; k>0; k--)
            printf("%d",i);
        printf("\n");
    }
}