ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Int c, y1, y2, kl, day, month, year;printf(“\nВведите день: ”); scanf(“%d”, &day); printf(“\nВведите месяц: ”); scanf(“%d”, &month); printf(“\nВведите год: ”); scanf(“%d”, &year); kl=0; c=0; y1=year/100; y2=year-y1*100; if ((y2==0) && (y1%4==0)) c=1; if ((y2!=0) && (y2%4)==0)) c=1; if ((c==1) && (month==1) ||(month==2)) kl=1; if ((c==0) && (month==1) || month==2)) kl=2; c=ceil(365.25*y2) + ceil(30.56*month) + day + kl; c %= 7; c += 3; if (c==1) printf(“\nЭто понедельник”); if (c==2) printf(“\nЭто вторник”); if (c==3) printf(“\nЭто среда”); if (c==4) printf(“\nЭто четверг”); if (c==5) printf(“\nЭто пятница”); if (c==6) printf(“\nЭто суббота”); if (c==7) printf(“\nЭто воскресенье”); Return 0; } По принятому в Си соглашению, ветвь else всегда относится к ближайшему предшествующему ему незанятому if: if (n>0) if (m % n > 2) m -= n; else m += n; else m %= n; В данном случае ветвь else m += n относится к if (m % n > 2), а ветвь else m %= n относится к if (n > 0). При переходе с Паскаля на Си программисты часто допускают ошибки при формировании условия в операторе if, путая две операции: = присваивания и == сравнения: if (a==b) printf(“\nЭти величины равны между собой”); else printf(“\nЭти величины не равны между собой”); Это правильное сравнение значений двух переменных. Перепишем это сравнение с ошибкой (компилятором не определяется): if (a=b) printf(“\nЭти величины равны между собой”); else printf(“\nЭти величины не равны между собой”); В этом случае сначала переменной a будет присвоено значение переменной b, а потом будет проверено, какое именно значение присвоено. Если это значение отлично от нуля (неложь), то выведется сообщение: Не нашли, что искали? Воспользуйтесь поиском:
|