C语言中看到这个题目想到的应该就是for语句
首先,n<=20,在这个范围内n是自己随便输入的,所以需要为n取地址, scanf("%d",&n);
然后再考虑这个三角形需要由#组成,每行需要多少个#,并且还可以观察到这个倒三角形里有空格,有 换行,所以捏,会有三个printf语句分别是:
printf("#")
printf(" ");
printf("\n");
现在基本可以确定,我们需要定义三个整形变量,int i,j,n;
然后我们就会使用for语句开始循环,我们需要三个printf,所以我们应该也会需要三个for语句,最后看代码:
#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<i;j++)
{
printf(" ");
}
for(j=1;j<=2*(n-i)+1;j++)
{
printf("#");
}
printf("\n");
}
return 0;
}
/*
i是行数,2*(n-i)+1是每行#的个数
*/
需要注意的是i,j那里可能有一点容易捋不顺,i是行数,在确定行数为多少时才会执行下面的代码,然后j是空格数,表示打印#之前需要输出多少空格,后面的2*(n-i)+1是每行#的个数
然后还有一种办法好像是可以通过坐标的方式来编写程序然后输出,具体改天再瞅瞅。。。。