Я начинаю программировать. Я работаю с. Моя программа должна производить что-то вроде этого:В каком цикле я должен поставить функцию печати?
> Give me a number: 4
> Pattern is:
**** *
*** **
** ***
* ****
Мое решение:
#include <stdio.h>
int main()
{
int row, c, n, t, temp;
printf("Give me a number: ");
scanf("%d",&n);
temp = n;
for (row = 0 ; row <= n ; row++)
{
for (c = 0 ; c < temp ; c++){
printf("*");
}
for (t = n ; t >= temp ; t--){
printf(" ");
printf("*");
}
temp--;
printf("\n");
}
return 0;
}
Мой код производит это когда я даю 4 в качестве входных данных:
**** *
*** * *
** * * *
* * * * *
* * * * *
Где я должен поставить свою printf(" ");
чтобы это исправить?
спасибо.
Есть две проблемы. См. Мой ответ –
относительно вызовов scanf() (и семейства) всегда проверяйте возвращаемое значение (а не цель ввода/преобразования), чтобы убедиться, что вход/преобразование было успешным. И.Е. if (1! = scanf ("% d", & n)) {// то с ошибкой scanf, ошибка обработки} – user3629249