Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 15.01.2010
Сообщений: 15
1

Вычислить суммарную оценку фигуристов и найти победителя

25.09.2010, 22:28. Показов 955. Ответов 3
Метки нет (Все метки)

Задание:

"Соревнования фигуристов. Ввести данные, содержащие фамилию фигуриста, страну, и оценку за обязательные выступления и за произвольную программу. Вычислить суммарную оценку. Найти победителя."

Сделано в паскале:
Pascal
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
38
39
40
41
uses crt;
const n=10;
type rec=record
      name,str:string;
      oc1,oc2:integer;
      sum:integer;
     end;
var x:array[1..n] of rec;
    i:integer;
    max:integer;
    k:string;
begin
ClrScr;
for i:=1 to n do
 begin
  Write(' Имя: ');
  Readln(x[i].name);
  Write(' Страна: ');
  Readln(x[i].str);
  Write(' Оценка1: ');
  Readln(x[i].oc1);
  Write(' Оценка2: ');
  Readln(x[i].oc2);
 end;
Writeln('Table: ');
for i:=1 to n do
 x[i].sum:=x[i].sum+x[i].oc1+x[i].oc2;
Writeln('|  Имя  |  Страна  | Оценка1 | Оценка2 | Сум |');
for i:=1 to n do
 Writeln('|',x[i].name:8,'|',x[i].str:11,'|',x[i].oc1:8,'|',
          x[i].oc2:7,'|',x[i].sum:6,'|');
max:=-1;
for i:=1 to n do
 if x[i].sum>max then
  begin
   max:=x[i].sum;
   k:=x[i].name;
  end;
Writeln(' Победитель: ',k);
Readln;
end.
Помогите пожалуйста перевести это на СИ.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2010, 22:28
Ответы с готовыми решениями:

Вычислить суммарную оценку фигуристов
Соревнования фигуристов. Ввести данные, содержащие фамилию фигуриста, страну, и оценку за...

Написать программу ,которая выводит суммарную площадь каждой комнаты.Найти суммарную площадь все комнат в этом доме
Помогите пожалуйста! В доме шесть комнат ,каждая из которых имеет форму прямоугольника.Длина...

Найти среднюю оценку ученика и вывести его оценку в буквенном виде
Помогите сделать Даётся массив чисел, найти среднюю оценку ученика и вывести его оценку в...

Вычислить суммарную стипендию всех студентов, и суммарную стипендию студентов конкретной группы
В общем работа состоит в том что бы сделать курсовой проект. Я сделал почти все задания,но с 2...

3
84 / 57 / 8
Регистрация: 07.08.2010
Сообщений: 185
26.09.2010, 02:39 2
Вот затравка. А дальше ты уж сам.

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/* Output from p2c 1.21alpha-07.Dec.93, the Pascal-to-C translator */
/* From input file "p2c.pas" */
 
 
#include <p2c/p2c.h>
 
 
#define n               10
 
 
typedef struct rec {
  Char name[256], str[256];
  long oc1, oc2, sum;
} rec;
 
 
main(argc, argv)
int argc;
Char *argv[];
{
  rec x[n];
  long i;
  long max = -1;
  Char k[256];
 
  PASCAL_MAIN(argc, argv);
  clrscr();
  for (i = 1; i <= n; i++) {
    printf(" \320\230\320\274\321\217: ");
    gets(x[i-1].name);
/* p2c: p2c.pas, line 18: Note: Characters >= 128 encountered [281] */
/* p2c: p2c.pas, line 18:
 * Note: WRITE statement contains color/attribute characters [203] */
    printf(" \320\241\321\202\321\200\320\260\320\275\320\260: ");
    gets(x[i-1].str);
/* p2c: p2c.pas, line 20: Note: Characters >= 128 encountered [281] */
/* p2c: p2c.pas, line 20:
 * Note: WRITE statement contains color/attribute characters [203] */
    printf(" \320\236\321\206\320\265\320\275\320\272\320\2601: ");
    scanf("%ld%*[^\n]", &x[i-1].oc1);
    getchar();
/* p2c: p2c.pas, line 22: Note: Characters >= 128 encountered [281] */
/* p2c: p2c.pas, line 22:
 * Note: WRITE statement contains color/attribute characters [203] */
    printf(" \320\236\321\206\320\265\320\275\320\272\320\2602: ");
    scanf("%ld%*[^\n]", &x[i-1].oc2);
    getchar();
  }
/* p2c: p2c.pas, line 16: Note: Characters >= 128 encountered [281] */
/* p2c: p2c.pas, line 16:
 * Note: WRITE statement contains color/attribute characters [203] */
  printf("Table: \n");
  for (i = 1; i <= n; i++)
    x[i-1].sum += x[i-1].oc1 + x[i-1].oc2;
/* p2c: p2c.pas, line 28: Note: Characters >= 128 encountered [281] */
/* p2c: p2c.pas, line 28:
 * Note: WRITE statement contains color/attribute characters [203] */
  printf(
    "|  \320\230\320\274\321\217  |  \320\241\321\202\321\200\320\260\320\275\320\260  | \320\236\321\206\320\265\320\275\320\272\320\2601 | \320\236\321\206\320\265\320\275\320\272\320\2602 | \320\241\321\203\320\274 |\n");
  for (i = 1; i <= n; i++)
    printf("|%8s|%11s|%8ld|%7ld|%6ld|\n",
       x[i-1].name, x[i-1].str, x[i-1].oc1, x[i-1].oc2, x[i-1].sum);
  for (i = 1; i <= n; i++) {
    if (x[i-1].sum > max) {
      max = x[i-1].sum;
      strcpy(k, x[i-1].name);
    }
  }
/* p2c: p2c.pas, line 39: Note: Characters >= 128 encountered [281] */
/* p2c: p2c.pas, line 39:
 * Note: WRITE statement contains color/attribute characters [203] */
  printf(
    " \320\237\320\276\320\261\320\265\320\264\320\270\321\202\320\265\320\273\321\214: %s\n",
    k);
  scanf("%*[^\n]");
  getchar();
  exit(EXIT_SUCCESS);
}
 
 
 
/* End. */
0
0 / 0 / 1
Регистрация: 15.01.2010
Сообщений: 15
26.09.2010, 13:42  [ТС] 3
Цитата Сообщение от alexzak Посмотреть сообщение
А дальше ты уж сам.
В том то и дело что СИ я совсем не знаю.
Тоже пробовал трасляторы
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
38
39
40
41
42
43
44
45
46
47
48
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
const integer n = 10;
struct rec {
 string name,str;
 integer oc1,oc2;
 integer sum;
};
array<1,n,rec> x;
integer i;
integer max;
string k;
int main(int argc, const char* argv[])
{
pio_initialize(argc, argv);
clrscr;
for( i=1; i <= n; i ++)
 {
  output << " Imya: ";
  input >> x[i].name >> NL;
  output << " Strana: ";
  input >> x[i].str >> NL;
  output << " Ocenka1: ";
  input >> x[i].oc1 >> NL;
  output << " Ocenka2: ";
  input >> x[i].oc2 >> NL;
 }
output << "Table: " << NL;
for( i=1; i <= n; i ++)
 x[i].sum=x[i].sum+x[i].oc1+x[i].oc2;
output << "|  Imya  |  Strana  | Ocenka1 | Ocenka2 | Sum |" << NL;
for( i=1; i <= n; i ++)
 output << '|' << format(x[i].name,8) << '|' << format(x[i].str,11) << '|' << format(x[i].oc1,8) << '|' << 
          format(x[i].oc2,7) << '|' << format(x[i].sum,6) << '|' << NL;
max=-1;
for( i=1; i <= n; i ++)
 if (x[i].sum>max) 
  {
   max=x[i].sum;
   k=x[i].name;
  }
output << " Pobeditel: " << k << NL;
input >> NL;
return EXIT_SUCCESS;
Ничего не компилится естественно.
0
33 / 33 / 2
Регистрация: 24.09.2010
Сообщений: 140
26.09.2010, 19:01 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <conio.h>
#include <tchar.h>
 
#define N 10
struct rec {
    char name[256], str[256];
    int oc1, oc2;
    int sum;
};
 
void fn1()
{
    struct rec x[N];
    int max = 0;
 
    for (int i = 0; i < N; i++)
    {
        _cputs(" Name: ");
        gets_s(x[i].name, 255);
        _cputs(" Country: ");
        gets_s(x[i].str, 255);
        _cputs(" Score1: ");
        scanf_s("%d%*c", &x[i].oc1);
        _cputs(" Score2: ");
        scanf_s("%d%*c", &x[i].oc2);
    }
    puts("\nTable: ");
    puts("|  Name  |  Country  | Score1 | Score2 |  Sum  |");
    for (int i = 0; i < N; i++)
    {
        x[i].sum = x[i].oc1 + x[i].oc2;
        if (x[i].sum > x[max].sum)
            max = i;
        printf("|%-8s|%-11s|%-8d|%-8d|%-7d|\n", x[i].name, x[i].str, x[i].oc1, x[i].oc2, x[i].sum);
    }
    printf("\n Winner: %s", x[max].name);
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    fn1();
    _getch();
    return 0;
}
Добавлено через 25 минут
Этот код будет компилироваться только как C++, чтоб компилировать как С, надо i объявить в начале функции.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2010, 19:01

Для оставшихся оценок вычислить среднее арифметическое и найти оценку спортсмена
Дана задача: в соревнованиях по фигурному катанию N судей выставляют оценки. Из объявленных оценок...

Найти максимальную оценку студента и вывести его ID потом фамилию и максимальную оценку
Здравствуйте! Мне нужно найти максимальную оценку студента и вывести его ID потом фамилию и макс...

Вычислить суммарную площадь треугольников
Два треугольника заданы длинами своих сторон: а1=2,1см, б1=1,9см, с1=2,8см а2=5см, б2=6см, с2=4см...

Вычислить суммарную площадь четырех прямоугольников
задача 4.4


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.