Алмазная печать в C с положительным нечетным значением меньше 20, введенным пользователем - PullRequest
0 голосов
/ 09 ноября 2018

Итак, я обновил свою программу до сих пор и добавил в условия: если кажется, что они их не ловят, я не уверен, почему, я играл с его размещением и не могу заставить его работать это то, что я тоже изменил.

#include <stdio.h> 

int main (пусто) {

int number; 

printf("Enter a positive odd number less than 20:"); 
scanf("%d",&number); 
//check for conditions 

if (number %2 == 0 && number > 20 && number <0){

    printf ("Please re-enter a positive odd number less than 20:"); 
    scanf ("%d", &number);
}

else 
{   
    // top of the diamond 
    for (int i=1; i<number;i +=2) 
{

    for (int j=0; j<number-1 -i/2 ; j++) 
    {

        printf(" "); 
    }
    for (int j=0; j<i;j++){

        printf("*"); 
    }

    printf("\n"); 
}

//bottom of the diamond 
for (int i =number;i>0;i-=2)
{

    for (int j =0; j<number -1 -i/2; j++)
    {
        printf(" "); 
    }
    for (int j=0; j<i;j++) 
    {
        printf("*");
    }
    printf("\n"); 
}       
}
return 0; 

}

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018

Это печатает хороший простой бриллиант:

#include <stdio.h>

int main(void) {
    int height = 5;
    char star[2*height];
    memset(star,'*',2*height);

    for(int i=0; i<height; ++i)    printf("%*.*s\n", height+i, 2*i+1, star);
    for(int i=height-2; i>=0; --i) printf("%*.*s\n", height+i, 2*i+1, star);

    return 0;
}

выход

Success #stdin #stdout 0s 9424KB
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
0 голосов
/ 09 ноября 2018
  1. scanf("%d",number); неверно. Вы должны дать адрес целого числа %d. Как это .. scanf("%d",&number);

  2. Чтобы проверить, является ли число нечетным или меньше 20, вы можете добавить условия для проверки этого.

    if (number%2 == 0)
    {
        printf(" ....");
    }
    else if (number >20)
    {
       printf("....");
    }
    else
    {
        // rest of code to print diamond
    }
    
  3. Вы также можете добавить цикл, чтобы повторить сканирование, пока пользователь не введет правильный номер. Я оставлю это как упражнение для вас.

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