Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [си] проверка условия деления...


Автор: Al47 28.10.2008, 22:36
Код

# include <stdio.h>;
main()
{
int a,n,i,s=0;
printf("n=");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a);
if(a/5&&a%7) s=s+a;
}
printf("s=%d",s);
}


В результате тестирования, число "8" проходит условие, кто-нибудь может сказать почему? За ранее благодарю...

Автор: IKM2007 28.10.2008, 22:48
Если правильно понял, в чем вопрос.
Код

if(a/5&&a%7) s=s+a;

8/5=1
8%7=1
1&1=1=true

Автор: Al47 28.10.2008, 22:55
Цитата(IKM2007 @  28.10.2008,  22:48 Найти цитируемый пост)

8/5=1


А почему тут "1"?

Добавлено через 40 секунд
А все понял... Спасибо, а как исправить?

Автор: Akina 28.10.2008, 23:15
заменить int на что-нить более вещественное

Автор: Al47 28.10.2008, 23:21
Просто в задаче даются действительные числа... А если заменить int будет работать? И можно рассказать почему именно 8 проходит условие?

Автор: Akina 28.10.2008, 23:34
Цитата(Al47 @  29.10.2008,  00:21 Найти цитируемый пост)
почему именно 8 проходит условие? 

и 17 пройдет. И 34.

Автор: IKM2007 29.10.2008, 16:35
Цитата(Al47 @  28.10.2008,  23:21 Найти цитируемый пост)
 И можно рассказать почему именно 8 проходит условие?


Цитата(Akina @  28.10.2008,  23:34 Найти цитируемый пост)
и 17 пройдет. И 34.

и все числа >=5 и не делящееся на 7.

Автор: ИванМ 30.10.2008, 22:14
Al47, ты лучше скажи, какая у тебя задача.

Автор: Al47 2.11.2008, 17:41
Цитата(ИванМ @  30.10.2008,  22:14 Найти цитируемый пост)
Al47, ты лучше скажи, какая у тебя задача. 


Найти числа которые делятся на 5 и не делятся на 7...

Автор: IKM2007 2.11.2008, 17:47
Условие должно быть так.
if(!(a%5)&&a%7)

Автор: Al47 2.11.2008, 19:29
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)