对于输出由*组成的三角形问题中,当然最“笨”的方法可以用print()语句一行一行的输出三角形每行对应的星星,不过,用循环语句的话会更节省时间。下面就是几种常见的三角形图案。
(1)
首先大家注意上边这个等腰直角三角形,第一列和第一行均6颗星;
想要几颗星的三角形都可以,只要把如下代码中的第4行代码中的 n=6 改成你想要的数字即可,比如你想要四颗星的三角形,就把6改成4.
方法1
#include
int main()
{
int n=4;
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
printf("*");
if(i<n-1)
printf("\n");
}
return 0;
}
方法2
#include
int main()
{
int n=6;
int i,j;
for(i=1;i<n+1;i++)
{
for(j=1;j<=n-i+1;j++)
printf("*");
if(i<n)
printf("\n");
}
return 0;
}
(2)
上边这个三角形,第一列和最后一行均6颗星;
想要几颗星的三角形都可以,只需把如下代码中的第4行代码中的 n=6 改成你想要的数字即可。
#include
int main()
{
int n=6;
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
printf("*");
printf("\n");
}
return 0;
}
(3)
上边这个三角形,最后一列和最后一行均6颗星;
想要几颗星的三角形都可以,只需把如下代码中的第4行代码中的 n=6 改成你想要的数字即可。
#include
int main()
{
int n=6;
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("*");
printf("\n");
}
return 0;
}
#include
int main()
{
int n=6;
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
printf(" ");
for(j=i;j<n;j++)
printf("*");
printf("\n");
}
return 0;
}
#include
int main()
{
int n=6;
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
printf(" ");
for(j=n-i-1;j<n+i;j++)
printf("*");
printf("\n");
}
return 0;
}
#include
int main()
{
int n=6;
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
printf(" ");
for(j=i;j<2*n-i-1;j++)
printf("*");
printf("\n");
}
return 0;
}
#include
int main()
{
for(int i=0;i<=4;i++){
for(int j=0;j<=4-i;j++){
printf(" ");
}
for(int k=0;k<=i*2;k++){
printf("*");
}
printf("\n");
}
for(int m=0;m<=4;m++){
for(int n=0;n<=m;n++){
printf(" ");
}
for(int a=0;a<9-m*2;a++){
printf("*");
}
printf("\n");
}
return 0;
}
当然,实现每种三角形都不止一种方法,欢迎大家在评论区留言,分享更简洁更省时间的代码实现。