Нижеприведенный код запрашивает у пользователя число и передает его функции, которая должна увеличить его значение на 5. Однако, похоже, что несмотря на эту функцию, add_5
, казалось бы, добавив 5 к значению x
- значение x
не изменяется! Запустите код один или два раза, чтобы узнать, что происходит, и исправьте код в add_5
и main
, чтобы правильно обновить значение x
.
#include <cs50.h>
#include <stdio.h>
// TODO: исправить прототип функции
void add_5(int x);
int main(void)
{
// input from user
int x = get_int("Enter some integer value: ");
printf("the value of x before adding 5 is %d\n", x);
// TODO: исправить это, чтобы обновить значение x
add_5(x);
printf("the value of x after adding 5 is %d\n", x);
}
// TODO: исправить реализацию функции
void add_5(int x)
{
x = x + 5;
}
Реализовать функцию с прототипом
double accumulate_interest(double balance, double rate);
который принимает два числа типа double
в качестве входных данных - банковский баланс и годовую процентную ставку - и выводит обновленный баланс после 1 года начисления процентов.
Пример вывода:
./accumulate_interest
Starting balance: 100
Annual interest rate: 0.05
Updated balance: 105.00
#include <cs50.h>
#include <stdio.h>
// TODO: прототип функции
int main(void)
{
double start = get_double("Starting balance: ");
double interest = get_double("Annual interest rate: ");
double updated = // TODO: вызов функции
printf("Updated balance: %.2f\n", updated);
}
// TODO: реализация функции
Программа шифрования требует, чтобы вы сначала ввели два целых числа, которые больше 100, одно из которых кратно 7, а другое кратно 19. Добавьте две функции в код ниже, которые подтверждают, что входные данные соответствуют требуемым критериям, и верните true
или false
.
#include <cs50.h>
#include <stdio.h>
// TODO: создать прототипы функций
int main(void)
{
int fac_1 = get_int("enter the first encryption factor: ");
int fac_2 = get_int("enter the second encryption factor: ");
if (test_7(fac_1) && test_19(fac_2))
printf("Success! Message was encrypted\n");
else
printf("Factors failed. Please try again later\n");
}
// TODO: реализация функций
Вы хотите рассчитать окончательный результат для команды, которая только что участвовала в захватывающем матче квиддича. Основываясь на приведенном ниже коде, реализуйте функцию, которая получает две переменные в качестве входных данных: int
указывает количество раз, когда команда получала Quaffle через обручи другой команды, и bool
, указывающую, поймали ли они snitch - и возвращает окончательный результат команды (какой будет тип возврата?).
Напомним, что каждая «цель» в квиддиче стоит 10 очков, а ловушка снитта стоит 150 очков.
#include <cs50.h>
#include <stdio.h>
// TODO: создать прототипы функций
int main(void)
{
int goal_num = get_int("Number of times your chasers got the quaffle through a hoop: ");
bool snitch_caught = get_int("Did your team's seeker catch the snitch? Enter 1 if true, 0 otherwise: ");
int score = final_score(goal_num, snitch_caught);
printf("Your team's final score is: %i\n", score);
}
// TODO: реализация функции
Пользователь решает некоторые простые задачи с добавлением и хочет убедиться, что он получил правильный результат. Пользователь вводит три целых числа, два из которых он складывает, а третье результат который он ожидает. Напишите функцию verify
типа bool
, которая принимает эти три int
и возвращает либо true
, либо false
, в зависимости о том, правильно ли он решил задачу.
#include <cs50.h>
#include <stdio.h>
// TODO: создать прототип
int main(void)
{
int x = get_int("Enter the first int you are adding: ");
int y = get_int("Enter the second int you are adding: ");
int z = get_int("Enter the result: ");
// TODO: проверьте результат, используя функцию, которую вы написали, и напечатайте 'correct!' или 'incorrect!'
}
// TODO: реализовать функцию проверки