请帮我完成作业。
我想使用循环c语言产生这样的模式

X X X
 XXX
XXXXX
 XXX
X X X

XXXXX
X   X
X   X
X   X
XXXXX

X
XX
X X
X  X
XXXXX

    X
   XX
  X X
 X  X
XXXXX


这是我的代码

#include <stdio.h>

int main()
{
for(int i=1;i<=26;i++){
    if(i==1){
        for(int a = 1;a<=5;a++){
            if(a==1 || a==3 || a==5){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==2){
        for(int b = 1;b<=5;b++){
            if(b==2 || b==3 || b==4){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==3){
        for(int c = 1;c<=5;c++){
            printf("X");
        }
    }
    else if(i==4){
        for(int d = 1;d<=5;d++){
            if(d==2 || d==3 || d==4){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==5){
        for(int e = 1;e<=5;e++){
            if(e==1 || e==3 || e==5){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==8){
        for(int f = 1;f<=5;f++){
            printf("X");
        }
    }
    else if(i==9){
        for(int g = 1;g<=5;g++){
            if(g==1|| g==5){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==10){
        for(int h = 1;h<=5;h++){
            if(h==1|| h==5){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==11){
        for(int jtmp = 1;jtmp<=5;jtmp++){
            if(jtmp==1|| jtmp==5){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==12){
        for(int f = 1;f<=5;f++){
            printf("X");
        }
    }
    else if(i==15){
        for(int k = 1;k<=5;k++){
            if(k==1){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==16){
        for(int l = 1;l<=5;l++){
            if(l==1 || l==2){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==17){
        for(int m = 1;m<=5;m++){
            if(m==1 || m==3){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==18){
        for(int n = 1;n<=5;n++){
            if(n==1 || n==4){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==19){
        for(int o = 1;o<=5;o++){
            printf("X");
        }
    }
    else if(i==22){
        for(int p = 1;p<=5;p++){
            if(p==5){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==23){
        for(int q = 1;q<=5;q++){
            if(q==4 || q==5){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==24){
        for(int r = 1;r<=5;r++){
            if(r==3 || r==5){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==25){
        for(int s = 1;s<=5;s++){
            if(s==2 || s==5){
                printf("X");
            }
            else{
                printf(" ");
            }
        }
    }
    else if(i==26){
        for(int t = 1;t<=5;t++){
            printf("X");
        }
    }
    else{
        printf("\n");
    }
    printf("\n");
}
}


但我的代码这么久不简单,因为我是如此新手
但是我想要使用这样的方法的简单代码

#include <stdio.h>

int main()
{
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= 5; j++) {
                if (j == 1 || j == 5 || i == 1 || i == 5)
                    printf("X");
                else
                    printf(" ");
            }
            printf("\n");
        }

    return 0;
}


输出:

XXXXX
X   X
X   X
X   X
XXXXX

最佳答案

使用函数将使您真正受益。在您的主程序为每个形状声明一个函数之前,例如

function square()
{
       for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= 5; j++) {
                if (j == 1 || j == 5 || i == 1 || i == 5)
                    printf("X");
                else
                    printf(" ");
            }
            printf("\n");
        }

    return 0;
}


现在在您的主程序中,您可以编写:-

main()
{
 square();
 square();
 triangle();
 star();
 triangle();

 return 0;
}


完成后,请阅读有关参数的信息。然后,您将可以编写:-

main()
{
 square(2);
 triangle(1);
 star(1);
 triangle(1);

 return 0;
}


做完全一样的事情。他他...广场(128);应该很有趣 ;)

关于c - 打印星形或“X”图案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56088230/

10-11 17:14