Принтер из звездочек - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Так как тут больше кода для С, то попрошу вас помочь с некоторым в моём коде: Проблема в том, что когда я хочу в переменную int записать пробел (символ типо, пустота) то он либо: а) пропускает строку scanf б) scanf не работает. Пробовал ставить getch, getchar, kbhit - не работало ничего. И да, я новичок в этом деле, поэтому видимо такие костыли и получились)
#include <conio.h>
#include <string.h>
#include <iostream>
 
main()
{
    printf("Hi guys, this programm can print anything with *, /, - and other. This programm adapted for 10 lines of print. Good luck!\n"); //вступление
    int num1, num2, num3, num4, num5, num6, num7, num8, num9, num10; //обьявление переменных с кол-вом звездочек в каждой строке (строк 10)
    char sym1; //символ (звездочка или что нибудь другое)
    char space; //пробел (!)
    int ns1, ns2, ns3, ns4, ns5, ns6, ns7, ns8, ns9, ns10; //кол-во пробелов (!)
    printf("Enter symbol for print, for the example: * / =\n"); //ввод звездочки для записания в char sym1
    scanf("%s", &sym1); //сканирование
    printf("Just press SPACE, then press ENTER.\n"); //ввод пробела (!) для записания в char space
    scanf("%s", &space); //сканирование
    printf("Pick number of spaces in lines\n"); //ввод кол-ва пробелов в строке
    scanf("%d%d%d%d%d%d%d%d%d", &ns1, &ns2, &ns3, &ns4, &ns5, &ns6, &ns7, &ns8, &ns9, &ns10); //сканирование
    printf("Enter the numbers denoting the number of characters per line\n"); //ввод символов в строке
    scanf("%d%d%d%d%d%d%d%d%d%d", &num1, &num2, &num3, &num4, &num5, &num6, &num7, &num8, &num9, &num10); //сканирование
    for(ns1; ns1 --;) //дальше идет печать пробелов и звездочек, работает вроде стабильно
    {
       printf("%s", space);
    }
    for(num1; num1 --;)
    {
        printf("%s", sym1);
    }
        printf("\n");
        std::cout << "\7";
    for(ns2; ns2 --;)
    {
       printf("%s", space);
    }
    for(num2; num2 --;)
    {
        printf("%s", sym1);
    }
        printf("\n");
        std::cout << "\7";
    for(ns3; ns3 --;)
    {
       printf("%s", space);
    }
    for(num3; num3 --;)
    {
        printf("%s", sym1);
    }
        printf("\n");
        std::cout << "\7";
    for(ns4; ns4 --;)
    {
       printf("%s", space);
    }
    for(num4; num4 --;)
    {
        printf("%s", sym1);
    }
        printf("\n");
        std::cout << "\7";
    for(ns5; ns5 --;)
    {
       printf("%s", space);
    }
    for(num5; num5 --;)
    {
        printf("%s", sym1);
    }
        printf("\n");
        std::cout << "\7";
    for(ns6; ns6 --;)
    {
       printf("%s", space);
    }
    for(num6; num6 --;)
    {
        printf("%s", sym1);
    }
        printf("\n");
        std::cout << "\7";
    for(ns7; ns7 --;)
    {
       printf("%s", space);
    }
    for(num7; num7 --;)
    {
        printf("%s", sym1);
    }
        printf("\n");
        std::cout << "\7";
    for(ns8; ns8 --;)
    {
       printf("%s", space);
    }
    for(num8; num8 --;)
    {
        printf("%s", sym1);
    }
        printf("\n");
        std::cout << "\7";
    for(ns9; ns9 --;)
    {
       printf("%s", space);
    }
    for(num9; num9 --;)
    {
        printf("%s", sym1 );
    }
        printf("\n");
        std::cout << "\7";
    for(ns10; ns10 --;)
    {
       printf("%s", space);
    }
    for(num10; num10 --;)
    {
        printf("%s", sym1);
    }
}
}
ап темы

Решение задачи: «Принтер из звездочек»

textual
Листинг программы
    char character=' ';            
    scanf("%c",&character);
    for(int i=0;i<10;i++) printf("%c",character);

Объяснение кода листинга программы

В этом коде:

  1. Объявляется переменная character типа char и инициализируется знаком пробела (' ').
  2. Используется функция scanf() для чтения ввода пользователя и присвоения его значения переменной character.
  3. Затем, в цикле for повторяется 10 раз: 3.1. Внутри цикла выводится символ, хранящийся в переменной character, с помощью функции printf(). Таким образом, этот код будет выводить 10 звездочек (поскольку символ пробела представлен в виде звездочки в ASCII-кодировке), и затем будет ожидать ввода пользователя для вывода того же символа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5