Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 14.08.2020
Сообщений: 53

Цикл while

02.09.2020, 20:41. Показов 2049. Ответов 28

Студворк — интернет-сервис помощи студентам
3. Напишите программу, которая по данному натуральному N печатает двоичную форму этого числа.
Подсказка: Использовать алгоритм предыдущей задачи, только с операциями деления на 2.

ввод 123 вывод 1111011

пример :

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int main(void)
{
    int a;
    printf("Enter a number: ");
    scanf_s("%d", &a);
    printf("Result: ");
    while (a / 10 != 0)
    {
        printf("%d", a % 10);
        a = a / 10;
    }
    printf("%d", a % 10);
    return 0;
}
на основе этого же примера тот же почти тот же алгоритм но изменил цифры деления на 2


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int main(void)
{
    int a;
    printf("Enter a number: ");
    scanf_s("%d", &a);
    printf("Result: ");
    while (a != 0)
    {
        printf("%d", a % 2 );
    
    }
    printf("%d", a % 2);
    return 0;
}

а здесь на консоле при вводе 123 ни те цифры выводит
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.09.2020, 20:41
Ответы с готовыми решениями:

Цикл: Вычислить значение выражения. Как вывести формулу и сделать цикл while?
Последовательно вводятся N целых чисел. Найти минимальное из них. #include&lt;stdio.h&gt; #include&lt;locale.h&gt; #include...

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать учесть особенности получения квадратного...

Вычислить и вывести сумму чётных целых чисел в интервале от 1 до n: 1) цикл «ДО» 2) цикл «ПОКА» 3) цикл «ДЛЯ»
Вычислить и вывести сумму чётных целых чисел в интервале от 1 до n: 1. цикл «ДО» 2. цикл «ПОКА» 3. цикл «ДЛЯ»

28
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8675 / 4512 / 1670
Регистрация: 01.02.2015
Сообщений: 13,946
Записей в блоге: 13
02.09.2020, 21:30
Студворк — интернет-сервис помощи студентам
Книга
Хулиган Ритчи. Язык C
она же
Керниган и Ритчи. Язык C.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
02.09.2020, 21:30
Иногда приятно помучить новичка. Но и совесть же надо иметь
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
int main(void)
{
int a, i, L; char s[100];
printf("Enter a number: ");
scanf_s("%d", &a);
printf("Result: ");
for (i=0 ; a != 0; i++)
{
 s[i] = a % 2 + '0';
 a /= 2;  
}
s[i] = '\0';
L = strlen(s);
for(i=0; i<L/2; i++) {
   char t = s[i];
   s[i] = s[L-i-1]
   s[L-i-1] = t;
}
printf("%s\n", s);
return 0;
}
И милосердие иногда стучится в их сердца...
0
0 / 0 / 0
Регистрация: 14.08.2020
Сообщений: 53
02.09.2020, 21:36  [ТС]
рекурсия да

Добавлено через 3 минуты
ФедосеевПавел, это как раз для новичков верно ?
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,856
02.09.2020, 21:42
Вы маньяки.
Пора валить отсюдова...

C
1
2
3
4
5
6
7
8
9
10
11
12
13
// перевод младших len бит целого в строку - бинарный вид ("0" и "1")
// дополнение слева нулями до длины len
char* Int2Bin(int value, char len, char* dest)                               
{
  dest[len] = 0;
 
  while (len--)
  {
    dest[len] = (value & 1) ? '1' : '0';
    value >>= 1;
  }
  return dest;
}
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8675 / 4512 / 1670
Регистрация: 01.02.2015
Сообщений: 13,946
Записей в блоге: 13
02.09.2020, 21:43
Хулиган Ритчи? Да, для новичков. Именно по ней лично я освоил язык C.

Применение конструкций языка закрепляется самостоятельными упражнениями - например решением задач с сайта.
0
0 / 0 / 0
Регистрация: 14.08.2020
Сообщений: 53
02.09.2020, 21:48  [ТС]
я ща СИ на подкурсах прохожу но не всегда понимаю темы так как следует препод высылает задания какие-то из них получается делать в каких-то из них ступор

Добавлено через 1 минуту
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Применение конструкций языка закрепляется самостоятельными упражнениями - например решением задач с сайта.
согласен с вами знания на практике прокачиваются

Добавлено через 51 секунду
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Применение конструкций языка закрепляется самостоятельными упражнениями - например решением задач с сайта.
согласен с вами знания на практике подкрепляются
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,856
02.09.2020, 21:49
Цитата Сообщение от Джей Джей Посмотреть сообщение
согласен с вами знания на практике подкрепляются
Знания без практики - это ноль.
1
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8675 / 4512 / 1670
Регистрация: 01.02.2015
Сообщений: 13,946
Записей в блоге: 13
02.09.2020, 21:55
Джей Джей, тогда любыми способами добивайтесь результата.

Вот у вас есть код для вывода числа
C
1
2
3
4
do{
  printf("%d", n%2);
  n /= 2;
}while(n);
Но выводит он в обратном порядке - сначала младшие, а потом старшие. Вот и придумывайте способы сделать вывод наоборот.

Какие-то уже перечислены.

Если ошибётесь в реализации - никто смеяться не будет.
1
0 / 0 / 0
Регистрация: 14.08.2020
Сообщений: 53
02.09.2020, 21:59  [ТС]
ФедосеевПавел, спасибо за советы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.09.2020, 21:59

Цикл с предусловием, цикл с постусловием и цикл с параметром
Объясните пожалуйста как делать эти циклы. У меня не получается. Можете сделать как на фото, или на подобии. Заранее спасибо)

Начать вложенный цикл не с первого элемента и по условию вернуться в основной цикл
Добрый день. На самом деле, проблема чуть шире, чем в названии топика. Есть цикл, в котором идёт перебор массива. Внутри цикла есть...

Цикл: Используя цикл while, выведите на экран для числа 2 его степени от 0 до 20
Используя цикл while, выведите на экран для числа 2 его степени от 0 до 20. Возведение в степень в Python обозначается как **. Фрагмент...

Написать в турбо паскале, Цикл с параметром, Цикл, с постусловием, и с предусловием пожалуйста

Цикл: Посчитать среднее арифметическое всех чисел в заданном диапазоне. Цикл while.
Напишите пожалуйста код для данной задачки с помощью цикла while Вывести числа в пользовательском диапазоне с шагом, указанным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Жара жесть.
kumehtar 18.08.2026
Пролетают летом дни Тридцать пять жары в тени. Каждый август год от года Дарит жаркую погоду.
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru