0 / 0 / 0
Регистрация: 20.02.2019
Сообщений: 29
1

По списку оценок определить вид диплома

25.02.2019, 20:58. Показов 2208. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Диплом
Имя входного файла: stdin
Имя выходного файла: stdout
Ограничение по времени: 2 seconds
Ограничение по памяти: 64 megabytes
Сергей скоро заканчивает обучение в институте. Уже написана пояснительная записка к выпускной квалификационной работе и оформлены все документы. Теперь Сергей задумался, не может ли
он получить по результатам обучения диплом с отличием. В официальных документах он нашел
следующее: «Студент получает диплом с отличием, если количество оценок “хорошо” не превышает
25% (в исключительных случаях допускается одна оценка “удовлетворительно” ». Более формально,
студент получает диплом с отличием, если у него не более одной оценки “удовлетворительно”, а количество оценок “хорошо” и “удовлетворительно” не превышает 25% от общего количества оценок.
Изучив свою зачетную книжку, Сергей составил список всех оценок, которые он получил за годы
обучения в институте. Список получился достаточно большим: оценок оказалось n штук. Напишите программу, которая по этому списку определит, какой диплом получит Сергей в соответствии с
указанным выше правилом.
Формат входных данных
Первая строка входного файла содержит число n (1 ⩽ n ⩽ 100000). Вторая строка входного
файла содержит n чисел, разделенные одним или несколькими пробелами — оценки Сергея. Числом
5 обозначается оценка “отлично”, числом 4 – оценка “хорошо”, числом 3 – оценка “удовлетворительно”.
Каждое число во второй строке равно либо 3, либо 4, либо 5.
Формат выходных данных
В выходной файл выведите «Degree with honors», если Сергей получает диплом с отличием, и
«Ordinary degree» иначе.
Примеры
stdin stdout
5
5 5 5 5 4
Degree with honors
4
3 3 4 5
Ordinary degree

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream> 
#include <string> 
using namespace std; 
 
int main(int argc, char* argv[]) 
{ 
int n,i;
float k,sum,tri,ch,l;
n=0;i=0;sum=0;tri=0;ch=0;
cin >> n;
int a[n];
for (int i=1;i<=n;i++)
{
    cin >> a[i];
    sum=sum+a[i];
    
    if (a[i]==3)
    {
        tri=tri+a[i];
    }
    if (a[i]==4)
    {
        ch=ch+a[i];
    }
}
l=tri+ch;
k=l/sum;
if ( tri<=3 && k<=0.25)
{
    cout << "Degree with honors";
}
else
{
    cout << "Ordinary degree";
}
return 0; 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2019, 20:58
Ответы с готовыми решениями:

Определить, какой вид пятиборья набрал максимальное значение по сумме всех оценок
В пятиборье участвует 10 спортсменов. Информация о результатах пятиборья предоставлены в виде...

Вычислить общую сумму баллов, наихудшую и наилучшую оценку по списку оценок
Оператор цикла:for, while Известны оценки студента по 10 дисциплинам. Вычислить общую сумму...

Вводя в цикле по 5 оценок каждого студента, подсчитать число студентов, не имеющих оценок 2 и 3
Помогите пожалуйста запутался) Вводя в цикле по 5 оценок каждого студента, подсчитать число...

Определить количество неудолетворительных оценок
Уважаемые Форумчане помогите перевести задачу из язика Pascal в язик С++. Вот условие:Определить...

1
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
26.02.2019, 13:23 2
Лучший ответ Сообщение было отмечено derhg3229 как решение

Решение

Всё проще
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main() {
    int n;
    cin >> n;     // количество оценок
    int mark;     // текущая считанная оценка
    int three_cnt = 0, not_five_cnt = 0;    // счётчик троек и счётчик "не-пятёрок"
    for (int i = 0; i < n; ++i) {
        cin >> mark;
        if (mark < 5) {
            ++not_five_cnt;
            if (mark < 4)
                ++three_cnt;
        }
    }
    double no_good_part = double(not_five_cnt) / n;  // расчёт доли оценок ниже пятёрки (доля * 100 == %%)
    if (no_good_part > 0.25 || three_cnt > 1)
        cout << "Ordinary degree";
    else
        cout << "Degree with honors";
}
0
26.02.2019, 13:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2019, 13:23
Помогаю со студенческими работами здесь

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

Определить, есть ли среди оценок двойки
Известны оценки по информатике 28 учеников класса. Есть ли среди них двойки?

Определить, есть ли тройки в списке оценок
Здравствуйте,помогите решить задачу на циклы,паскаль: Известны оценки по информатике 28 учеников...

Определить сумму оценок каждого ученика
Известны оценки двух учеников по четырем предметам. Определить сумму оценок каждого ученика.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru