Vuvko's Testing Forum

Объявление

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Vuvko's Testing Forum » Домашняя работа по праку гр. 104 » Задание на 15.09.2010


Задание на 15.09.2010

Сообщений 1 страница 5 из 5

1

Задача 3.

На стандартном потоке ввода задаются 3 целых числа. Выведите максимальное из них. Использовать только один вызов printf.

Если можно импользовать printf только один раз, то нужно определить максимум локально в некую переменную (назовём её maximum)

Код:
#include <stdio.h>

int
main(void)
{
    int x, y, z, maximum;
    while (scanf("%d%d%d", &z, &y, &x) == 3) {
        maximum = y;
        if (z > maximum) {
            maximum = z;
        }
        if (x > maximum) {
            maximum = y;
        }
        printf("%d\n", maximum);
    }
    return 0;
}

0

2

Задание 4

На стандартном потоке ввода задаётся число с не более 4 десятичными знаками. На стандартный поток вывода напечатать 1, если число является симметричным (например, 1221), и 0, если число не является симметричным.

0

3

Задание 5

Год на планете Пандора состоит из 14 месяцев, в каждом из которых либо по 41, либо по 42 дню (в первом месяце 41 день, во втором - 42, далее число дней чередуется). На стандартном потоке ввода задаются два числа: номер месяца в году и номер дня в месяце (оба номера отсчитываются от 1). На стандартный поток вывода напечатайте номер дня в году (отсчитываемый от 1). Не используйте условный оператор.

Код:
#include <stdio.h>

enum {
    INPUT_MONTH = 14,
    INPUT_DAY = 41
};

int
main(void)
{
    int d, m;
    float day_in_year;
    while (scanf("%d%d", &m, &d) == 2){
        if (m > INPUT_MONTH || da > (INPUT_DAY + (m + 1) % 2) || m < 0 || d < 0) {
            printf("Invalid parameters\n");
        } else {
            day_in_year = d + (m - 1) * INPUT_DAY + (m - 1 % 2);
            printf("%f\n", day_in_year);
        }
    }
    return 0;
}

0

4

Задание 6

На стандартном потоке ввода задатся время (в двенадцатичасовом формате) в виде двух целых чиселЖ часа и минут. Определите и напечатайте на стандартный поток вывода угол (в градусах) от часовой до минутной стрелок (угол должен быть в интервале [-180;180))

Код:
#include <stdio.h>

enum {
    MIN_DEGREE = 6,
    HOUR_DEGREE = 30,
    MAX_HOUR = 11,
    MAX_MINUTES = 59
};

int
main(void)
{
    int hour, minutes;
    float min, hour, diff;
    while (scanf("%d%d", &hour, &minutes) == 2) {
        if (hour > MAX_HOUR || minutes > MAX_MINUTES || hour < 0 || minutes < 0) {
            printf("Invalid parametrs\n");
        } else {
            min = MIN_DEGREE * minutes;
            hour = HOUR_DEGREE * hour + minutes / 2.0;
            diff = min - hour;
            if (diff < -180) diff = diff +360;
            else if (diff >= 180) diff = diff - 360;
            printf("%f", diff);
        }
    }
    return 0;
}

0

5

Задание 7

Даны целые числа х и у, по м одулю не превосходящие 32000. Написать программу, которая выводит номер четверти координатной плоскости, в которой находится точка (х, у).

Код:
#include <stdio.h>

enum {
    MAX_COORD_MOD = 32000
};

int main()
{
    int x,y;
    while (scanf("%d%d", &x, &y) == 2) {
        if (x > MAX_COORD_MOD || y > MAX_COORD_MOD || x < -COORD_MOD || y < -COORD_MOD) {
            printf("Invalid parameters\n");
        } else {
            if (y > 0) {
                if (x > 0) printf("The first quater\n");
                else printf("The second quater\n");
            } else {
                if (x > 0) printf("The fouth quater\n");
                else printf("The third quater\n");
            }
        }
    }
    return 0;
}

0


Вы здесь » Vuvko's Testing Forum » Домашняя работа по праку гр. 104 » Задание на 15.09.2010