c语言for循环打印菱形的方法:使用两个for循环,实现条件判断,代码为【int i,j;for(i=0; i<2*n-1; i++){if(i=n-i-1&&j<n+i) {print('*');}else{..}}】。

c语言for循环打印菱形的方法:

方法一(以循环为主打印)

#include <stdio.h> 
void print(int n) 
{ 
    int i,j; 
    for(i=1; i<=n; i++) 
    { 
        for(j=1; j<=n-i; j++) 
        { 
            printf(" "); 
        } 
        for(j=n-i+1; j<n+i; j++) 
        { 
            printf("*"); 
        } 
        printf("\n"); 
    } 
     
    for(i=n-1; i>=1; i--) 
    { 
        for(j=1; j<=(n-i); j++) 
        { 
            printf(" "); 
        } 
        for(j=n-i+1; j<n+i; j++) 
        { 
            printf("*"); 
        } 
        printf("\n"); 
    } 
} 
 
void main() 
{ 
    int n; 
    printf("---------开始打印符号---------\n"); 
    printf("请输入数字:"); 
    scanf("%d",&n); 
    print(n); 
    printf("---------结束打印符号---------\n");     
}

方法二:(两个for,根据条件判断实现)

#include <stdio.h> 
//输出格式 
void print(char ch) { 
    putchar(ch); 
} 
//星号 
void printstar(int n) 
{ 
    int i,j;    //行,列 
    for(i=0; i<2*n-1; i++) 
    { 
        for(j=0; j<2*n-1; j++) 
        { 
            if(i<n) 
            { 
                if(j>=n-i-1&&j<n+i) 
                { 
                    print('*'); 
                } 
                else 
                { 
                    print(' '); 
                } 
            } 
            else 
            { 
                if(j>=i-n+1&&j<3*n-i-2) 
                { 
                    print('*'); 
                } 
                else  
                { 
                    print(' '); 
                } 
            } 
 
        } 
        print('\n'); 
    } 
} 
 
void main() 
{ 
    int n; 
    printf("---------开始打印符号---------\n"); 
    printf("请输入数字:"); 
    scanf("%d",&n); 
    printstar(n); 
    printf("---------结束打印符号---------\n");     
}

说明:(2n-1)—(n-i-1)= n+i

(2n-1)— (-(n-i-1))= 3n-i-2

结果:

34d7f6b8e006c85ad30fb888b6ce19d.png

相关学习

c语言for循环如何打印菱形