用C语言循环嵌套语句编出一个三角形形状

如题所述


#include <stdio.h>
int main()  
{  
    int i,j,n=6;   
    //输出第一行:n-1个空格和1个星号并换行  
    for(j=1; j<=n-1; ++j) //输出n-i个空格  
        printf(" ");  
    printf("*\n"); 
    //再输出中间的n-2行  
    for(i=2;i<=n-1;++i) //一共要输出n-2行  
    {  
        //输出第i行  
        for(j=1; j<=n-i; ++j) //输出n-i个空格  
            printf(" ");  
        printf("*");  //再输出一个星号  
        for(j=1; j<=2*i-3; ++j) //然后输出2*i-3个空格  
            printf(" ");  
        printf("*\n");//输出一个星号后本行结束,换行  
    }  
    //输出最后一行:2*n-1个星号  
    for(j=1; j<=2*n-1; ++j)   
        printf("*");  
    printf("\n");
    return 0;     
}

#include <stdio.h>
int main( )  
{  
    int i,j,n=6;   
    for(i=1;i<=n;++i) //一共要输出n行  
    {  
        //输出第i行  
        for(j=1; j<=n-i; ++j) //输出n-i个空格  
            printf(" ");  
        for(j=1; j<=2*i-1; ++j) //输出2*i-1个星号  
            printf("*");  
        printf("\n");
    }  
    return 0;     
}

#include <stdio.h>
void print_triangle(int n,int x,int t)  
//n为每个小三角形的行数,x为连续输出三角形的个数,t为三角形的向右的位移(1表示1个空格)  
{  
    int i,k,j;  
    for(i=0;i<n;i++)  //控制行数  
    {  
        for(k=0;k<t;k++) //控制位移  
            printf("%c",32);  //空格ASCII码为32
        for(j=x;j>0;j--)  //控制个数  
        {  
            for(k=n-1;k>i;k--)    
                printf("%c",32);  
            for(k=0;k<i*2+1;k++)  
                printf("%c",42);  
            for(k=n;k>i&&j>1;k--)  
                printf("%c",32);  
        }  
        printf("\n");  
    }  
}  
int main()  
{  
    int i,k,N,t;  
    printf("please input N:");  
    scanf("%d",&N);  
    
    for(i=1;i<=N;i++) //控制大三角形行数  
    {  
        t=N*(N-i);    
        print_triangle(N,i,t);  
    }  
    
    return 0;  
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-30
/**程序如下,希望对你有所帮助与参考! 自己多看书.*/
/**
*@author:banxi1988
*@date:2010-11-30
*/
#include<stdio.h>
#include<stdlib.h>/** 包含了求绝对值函数abs*/

int main(int argc, char **agrv){

char ch;//填充字符
int num ;//边长
int groupCount = 0;//数据组数.
int i,j,k;
printf("请输入一个可见字符和一个边长n(1<n<30)\n");
scanf("%c%d",&ch,&num);

for( i = 1; i<(num+1);i++){
if(num>30)break;
for( j = 0; j<num-i;j++)putchar(' ');
for( k = 0; k< (2*i-1); k++){
if(k>0&&k<(2*i-2)&&i!=num)putchar(' ');/**注释掉这一句和下面的 else输出实心的三角形*/
else
putchar(ch);
}//for:
putchar('\n');

}//for:
return 0;
}//main:
/********************两种输出结果如下:
请输入一个可见字符和一个边长n(1<n<30)
c 3
c
ccc
ccccc

请输入一个可见字符和一个边长n(1<n<30)
c 6
c
c c
c c
c c
c c
ccccccccccc

*******************************/
第2个回答  推荐于2016-10-20
#include<stdio.h>

int main(){

int n, i, j;
while (scanf("%d", &n) == 1){
for (i = 0; i < n; i++){
for (j = 0; j < n - i; j++)
putchar(' ');
for (j = 0; j < i * 2 + 1; j++)
putchar('*');
putchar('\n');
}
}
return 0;
}
输入一个n就会打印出一个三角形本回答被提问者和网友采纳

用C语言循环嵌套语句编出一个三角形形状
x为连续输出三角形的个数,t为三角形的向右的位移(1表示1个空格) { int i,k,j; for(i=0;i<n;i++) \/\/控制行数 { for(k=0;k<t;k++) \/\/控制位移 printf("%c",32); \/\/空格ASCII码为32 for(j=x;...

c语言编写三角形,怎么实现?
在C语言中,你可以使用嵌套的循环来打印三角形。下面是一个简单的示例代码,可以打印出一个由星号组成的三角形:include <stdio.h> int main() { int i, j, rows;printf("Enter the number of rows: ");scanf("%d", &rows);for (i = 1; i <= rows; i++) { for (j = 1; j <...

如何用C语言的循环结构输出一个三角形
我们用 * 来构成三角形,要输出三角形,要考虑到构成三角形 * 前面的空格,而 每一行* 和空格的数目又是有规律的,因此可以用for循环里面在嵌套2个for循环来输出:include<stdio.h>void main(){int i,j;for(i=0;i<5;i++){ for(j=0;j<4-i;j++)printf(" ");for(j=0;j<2*i+...

在c语言中用嵌套的方式输出用*构成的倒立的等腰三角形?
int main(){ int i,k,j,n;scanf("%d",&n);for(i=1;i<=n;i++){ for(k=1;k<=i;k++)printf(" ");for(j=n+3;j>=2*i-1;j--)printf("*");printf("\\n");} return 0;}

C语言FOR循环编写三角形图案代码
int n,i,j;printf("Please enter n\\n");scanf("%d",&n);for(i=0;i<n;i++){ for(j=0;j<=i;j++){ printf("* ");} printf("\\n");} for(i=0;i<n;i++){ for(j=0;j<n-i-1;j++){ printf(" ");} for(j=0;j<=i;j++){ printf("* ");} printf("\\n");...

C语言输出一个正三角形?
2、接着定义变量并确定行数,这里用3个for循环,外层的for循环用来遍历行数,里面的第一个for循环确定空格数量,另一个for循环确定每一行星号数量并换行,图像的输出也是在for循环中完成的:3、程序编写完成,运行程序观察输出结果,可以看到其中输出了正三角形的形状。以上就是用c语言输出正三角形演示:

怎么用C语言里的loop编一个*符号组成的空心三角形(内有图解)
j++) printf(" "); printf("*"); for(j=1;j<=i*2-3;j++) printf(" "); if(i!=1) printf("*\\n"); else printf("\\n"); } for(i=0;i<2*a-1;

C语言输出一个直角三角形
如下所示:for(i=1;i<=n;i++) 这个循环是打印i行。里面的循环就是每行要打印的东西。for(j=1;j<=i*2-1;j++) 意思就是第i行,打印i*2-1个星号。于是就一次是1 3 5 7...个星号。

C语言,怎么编程判断三角形的形状?
代码如下:include <stdio.h> include <stdlib.h> define EPSINON 1e-3#define ABS(a) (((a)>0)?(a):(-a)) \/\/?:不支持表达式嵌套#define ZERO(x) ((x)>-EPSINON && (x)<EPSINON)#define MAX(a,b) (((a)>(b))?(a):(b))#define MIN(a,b) (((a)<(b))?(a):...

c语言编程:如何编程能构成一个三角形?
主要程序为:include<stdio.h> intmain(){ floata,b,c;scanf("%f%f%f",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a)printf("可以构成三角形\\n");elseprintf("不能构成三角形\\n");getch();return0;}

相似回答