Гааайз,тут короче немного тривиальная задача,но я немного(много) довн. Короче,по идее программа должна при каждом числе, кратном шести,прибавлять к результату единичку. К сожалению,она этого не делает,подскажите,где ошибка(при всех результатах выдает 0) #include <stdio.h> int main() { int count,x,k,i; k=0; printf("Write count of scores: "); scanf("%d",&count); for(i=0;i<count;i++) { scanf("%d",&x); if(x/6==0) {k=k++;} } printf("%d",k); }
Здесь две ошибки. Во-первых, для проверки кратности другому числу нужно использовать остаток от деления (смотри код) Дальше, строчка с инкрементацией 'k'. Постфиксный "++" - унарная операция с низким приоритетом, так что стоит использовать её так, как в коде ниже: так красиво и понятно. Лично для меня тоже было неожиданностью, что приоритет присваивания выше. #include <stdio.h> int main() { int count,x,k,i; k=0; printf("Write count of scores: "); scanf("%d",&count); for(i=0;i<count;i++) { scanf("%d",&x); if(x%6 == 0) k++; } printf("%d",k); return 0; } Код #include <stdio.h> int main() { int count,x,k,i; k=0; printf("Write count of scores: "); scanf("%d",&count); for(i=0;i<count;i++) { scanf("%d",&x); if(x%6 == 0) k++; } printf("%d",k); return 0; }
Я конечно не шарю, но все же вот это "if(x/6==0)" скорее неправильно. Твое заданное число - X программа делит на 6 и получает 0.