Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2009, 21:56   #1
Lexeres
Новичок
Джуниор
 
Регистрация: 15.11.2009
Сообщений: 54
Восклицание Дано натуральное число n. Определить наименьшую цифру с чётным номером - Задача по Си

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

"Дано натуральное число n. Определить наименьшую цифру с чётным номером"
Lexeres вне форума Ответить с цитированием
Старый 15.11.2009, 22:38   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
int chislo,i;
char sc[20],min;
printf("vvedite chislo: ");
scanf("%d",&chislo);
itoa(chislo,sc,10);
min=sc[1];
for(i=1;i<strlen(sc);i=i+2)
	{
	if(sc[i]<min)
		{
		min=sc[i];
		}
	}
printf("\r\nmin c chetnym nomerom - %c",min);
return 0;
}
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru

Последний раз редактировалось alexcoder; 15.11.2009 в 22:43.
alexcoder вне форума Ответить с цитированием
Старый 16.11.2009, 00:26   #3
Lexeres
Новичок
Джуниор
 
Регистрация: 15.11.2009
Сообщений: 54
По умолчанию

эммм.. конечно спасибо, но можно попроще без каких-то itoa и strlen ?? Мы его ещё не проходили....
Lexeres вне форума Ответить с цитированием
Старый 16.11.2009, 00:40   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
#include <stdio.h>

int main()
{
	unsigned int number;           // Натуральное всегда положительно
	unsigned int digit;            
	unsigned int smallest = -1;    // Для unsigned значение -1 будет соответствовать самому большому числу, которое в нём помещается

	printf("Enter number: ");
	scanf("%d", &number);

	while( number > 0 ) {
		number /= 10;
		if( number == 0 )
			break;
		digit = number % 10;
		if( digit < smallest )
			smallest = digit;
		number /= 10;
	}

	printf("Smallest digit is %d", smallest);

	return 0;
}
Можно ещё вот так )

Последний раз редактировалось netrino; 16.11.2009 в 00:51. Причина: исправил ошибку
netrino вне форума Ответить с цитированием
Старый 16.11.2009, 14:58   #5
Lexeres
Новичок
Джуниор
 
Регистрация: 15.11.2009
Сообщений: 54
По умолчанию

Спасибо !!

а что обозначает
digit = number %10
и знак /=
???

Последний раз редактировалось Lexeres; 16.11.2009 в 15:12.
Lexeres вне форума Ответить с цитированием
Старый 16.11.2009, 15:49   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
digit = number % 10;
означает положить в digit остаток от деления на 10 числа number.
number /= 10; эквивалентно number = number / 10;
netrino вне форума Ответить с цитированием
Старый 16.11.2009, 19:24   #7
Lexeres
Новичок
Джуниор
 
Регистрация: 15.11.2009
Сообщений: 54
По умолчанию

Спасибо
Lexeres вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано натуральное k. Напечатать k-ю цифру последовательности 149162536..., в которой выписаны подряд квадр kent2102 Паскаль, Turbo Pascal, PascalABC.NET 9 20.02.2011 17:35
1) Дано натуральное число N. Указать N-ую цифру последовательности 1123581321…, в которой выписаны подр halk Помощь студентам 1 08.10.2009 18:28
Дано натуральное число RAVEN23 Помощь студентам 5 05.06.2009 15:23
дано натуральное число.(паскаль) ex-hack Помощь студентам 1 05.06.2009 05:36
Дано натуральное число n. Можно ли представить его в виде суммы двух квадратов натуральных чисел? Сеня Помощь студентам 3 29.01.2009 01:17