Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Tripee42
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 4
1

Напечатать в возрастающем порядке все цифры, не входящие в десятичную запись натурального числа n

07.06.2018, 23:03. Просмотров 224. Ответов 5
Метки нет (Все метки)

Добрый вечер, мне нужна помощь с написанием программы на языке Си, первую половину я сделал, а вот как сделать проверку, не знаю. Само задание выглядит так: Подсчитать количество различных (значащих) цифр в десятичной записи
натурального числа n и напечатать в возрастающем порядке все цифры, не
входящие в десятичную запись натурального числа n. Никак не могу понять, как напечатать в возрастающем порядке, цифры, не входящие в десятичную запись числа n.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h> 
long long int n; 
int digits(long long int n) 
{ 
int result = 0; 
while (n > 0) { 
n = n / 10; 
result++; 
} 
return result; 
} 
int main() 
{
printf("Enter a number: "); 
scanf("%lli", &n); 
n = digits(n); 
printf("Quanity of digits %lli", n); 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2018, 23:03
Ответы с готовыми решениями:

Напечатать в возрастающем порядке все трехзначные числа
Операторы цикла Напечатать в возрастающем порядке все трехзначные числа, в...

В алфавитном порядке порядке напечатать (по одному разу) все строчные русские буквы, входящие в заданный текст
С ( Си ) Вводится текст, за которым следует точка. В алфавитном порядке...

Напечатать сначала все цифры, входящие в него, а затем все остальные буквы
Дан текст из 80 букв. Напечатать сначала все цифры, входящие в него, а затем...

Напечатать в алфавитном порядке все буквы, входящие в текст
Весь текст находится в txt файле, все данные должны быть обработаны и занесены...

В алфавитном порядке напечатать (по разу) все строчные русские буквы, входящие в текст
Вводится текст, за которым следует точка. В алфавитном порядке напечатать (по...

5
Tripee42
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 4
07.06.2018, 23:15  [ТС] 2
Помогите, пожалуйста, перевести с Паскаля на простой Си.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
uses crt;
type Mn=set of 0..9; 
var n,a:longint;
    i,k:byte;
    b:Mn;
begin
clrscr;
write('Vvedite naturalnoe chislo N=');
readln(n);
b:=[];
while n>0 do
 begin
   a:=n mod 10;
   if not (a in b)then
     begin
       include(b,a);
       k:=k+1;
     end;
   n:=n div 10;
 end;
writeln('Kolichestvo raznyh cifr v chisle N=',k);
writeln('V chislo ne vhodyat cifry:');
for i:=0 to 9 do
if not (i in b )then
write(i,' ');
readln
end.
0
Байт
Эксперт C
20035 / 12657 / 2662
Регистрация: 24.12.2010
Сообщений: 26,353
07.06.2018, 23:25 3
Tripee42, Заводите массив из 10 интов, обнуляете его для начала.
Потом для кажной встреченной цифры ставите в соответствующую позицию массива единичку.
После окончания разборки числа проходитесь по энтому интовому массиву с конца, и печатаете те, где нули.
Попробуйте сами, авось получится...
0
Tripee42
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 4
07.06.2018, 23:33  [ТС] 4
Байт, Если бы у меня что-то получалось самого, я бы не просил помощи.
С массивами вообще большая беда, пропустил пары, когда их изучали, сейчас не могу понять, как работать с ними, такие дела.
0
easybudda
Модератор
Эксперт CЭксперт С++
10208 / 6107 / 1536
Регистрация: 25.07.2009
Сообщений: 11,607
08.06.2018, 00:09 5
Цитата Сообщение от Tripee42 Посмотреть сообщение
С массивами вообще большая беда, пропустил пары, когда их изучали
Вот без массивов
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main(void) {
    unsigned long long number;
    
    while ( printf("Number: ") && scanf("%llu", &number) == 1 && number ) {
        unsigned short mask = 0, digit;
        
        for ( ; number; number /= 10 )
            mask |= 1 << ( number % 10 );
        for ( digit = 0; digit < 10; ++digit, mask >>= 1 )
            if ( ! ( mask & 1 ) )
                printf("%hu ", digit);
        printf("\n");
    }
    
    return 0;
}
1
Tripee42
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 4
08.06.2018, 00:26  [ТС] 6
easybudda, Спасибо большое за помощь.
0
08.06.2018, 00:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2018, 00:26

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

Напечатать в алфавитном порядке все различные строчные русские буквы, входящие в заданный текст из 200 литер.
Напечатать в алфавитном порядке все различные строчные русские буквы, входящие...

Переставить цифры двоичного представления заданного натурального числа в обратном порядке
Помогите пожалуйста, преобразовать целое число, переставив цифры двоичного...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru