Maison > développement back-end > Tutoriel C#.Net > Comment imprimer un losange avec une boucle for en langage C

Comment imprimer un losange avec une boucle for en langage C

coldplay.xixi
Libérer: 2020-10-30 09:33:38
original
8149 Les gens l'ont consulté

Langage C pour la méthode diamant d'impression de boucles : utilisez deux boucles for pour implémenter le jugement conditionnel, le code est [int i,j;for(i=0; i=n-i-1&&j

Comment imprimer un losange avec une boucle for en langage C

Langage C pour la méthode du losange d'impression en boucle :

Méthode 1 (impression principalement avec boucle)

#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");     
}
Copier après la connexion

Méthode 2 : (deux fors, implémentés sur la base d'un jugement conditionnel)

#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(&#39;*&#39;); 
                } 
                else 
                { 
                    print(&#39; &#39;); 
                } 
            } 
            else 
            { 
                if(j>=i-n+1&&j<3*n-i-2) 
                { 
                    print(&#39;*&#39;); 
                } 
                else  
                { 
                    print(&#39; &#39;); 
                } 
            } 
 
        } 
        print(&#39;\n&#39;); 
    } 
} 
 
void main() 
{ 
    int n; 
    printf("---------开始打印符号---------\n"); 
    printf("请输入数字:"); 
    scanf("%d",&n); 
    printstar(n); 
    printf("---------结束打印符号---------\n");     
}
Copier après la connexion

Explication : (2n-1)—(n-i-1) = n+i

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

Résultat :

Comment imprimer un losange avec une boucle for en langage C

Recommandations d'apprentissage associées :Tutoriel vidéo C

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal