Необходимо найти сумму очков карт в блекджеке - C (СИ)
Формулировка задачи:
Суть задачи состоит в том, чтобы посчитать сумму очков карт на руках (игра блекджек) и вывести четное или нечетное получилось число. В моем коде судя по всему ошибка, а конкретно в этом месте
Вот и сам код:
for (p = hand; p -> score != 0; p++) { sum = sum + bj[ ].score; }
#include <stdio.h> struct Score { char rank; // достоинство int score; // сколько очков за карту }; int check (struct Score * hand) { int index =0, sum = 0; struct Score bj[ ] = {{0, 0}, {'2', 2}, {'3', 3}, {'4', 4}, {'5', 5}, {'6', 6}, {'7', 7}, {'8', 8}, {'9', 9}, {'T', 10}, {'J', 10}, {'Q', 10}, {'K', 10}, {'A', 11}}; for (p = hand; p -> score != 0; p++) { sum = sum + bj[ ].score; } if (sum % 2 == 0) { printf ("Четное количество очков"); } if (sum % 2 != 0) { printf ("Нечетное количество очков"); } } int main () { struct Score [ ] hand1 = {{'Q', 10}, {'A', 11}, {'9', 9}, {0, 0}}; struct Score * p; for (p = hand; p -> score != 0; p++) { printf("%c%i", p -> rank, p -> score); } printf("\n"); printf("%d\n", check(hand)); }
Решение задачи: «Необходимо найти сумму очков карт в блекджеке»
textual
Листинг программы
#include <stdio.h> struct Score { char rank; // достоинство int score; // сколько очков за карту }; int check (const struct Score * hand) { int sum = 0; for (; hand->score != 0; ++hand) sum += hand->score; return sum; } int main () { int sum; struct Score *p, hand[] = {{'Q', 10}, {'A', 11}, {'9', 9}, {0, 0}}; for (p = hand; p->score != 0; ++p) { printf("%c%i", p->rank, p->score); } sum = check(hand); printf("\n%s количество очков %d\n", (sum % 2 == 0 ? "Четное" : "Нечетное"), sum); return 0; }
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Объявляем структуру Score, которая содержит два поля: rank (достоинство) и score (количество очков за карту)
- Определяем функцию check, которая принимает указатель на массив структур Score и возвращает их сумму
- В функции main создаем массив структур Score hand и инициализируем его значения
- В цикле выводим значения структур Score на экран
- Вызываем функцию check, передавая ей указатель на массив hand
- Выводим на экран результат функции check и описываем его как четное или нечетное
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д