печать X с использованием циклов while - PullRequest
0 голосов
/ 20 июня 2020

Я хочу написать программу, которая считывает целое число n из стандартного ввода и печатает образец nxn звездочек и тире в форме «X».

N должно быть нечетным, а N> = 5.

мой код :

#include <stdio.h>

int main(void)  {
    
    //making sure they enter an odd number >= 5 
    
    int endloop = 0; 
    
    int size;
    while (endloop == 0) { 
        printf("Enter size:");
        scanf("%d", &size);
        if (size % 2 == 0 || size < 5) {
            printf("Invalid, try again\n");
        } else {
            endloop = 1;
        } 
    }
    
   
    int downwards = 0;
    while (downwards < size) {
    
        int across = 0; 
        while (across < size) {
            if (downwards == across) {
                printf("*");
            }
            if (across == size - downwards - 1) {
                printf("*");
            } else {
                printf("-");
            }
            across++; 
        }
        downwards++;
        printf("\n");
    }
    
    return 0; 
} 

результат:

Enter size:5
*----*
-*--*-
--**--
-*-*--
*---*-

он должен выглядеть так :

*---*
-*-*-
--*--
-*-*-
*---*

Не могу понять, что я сделал не так. Поперечная строка печатает 6 символов вместо 5, хотя я указал на

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...