#include "types.h" #include #include #include void read_print_quadratic() { // TODO 1. Read 3 numbers: a, b and c which represent known numbers for // quadratic equation in standard format (ax^2 + bx + c = 0) from stdin. printf("Enter numbers a, b and c of equation ax^2 +bx + c = 0:\n"); int a, b, c; scanf("%d %d %d", &a, &b, &c); // TODO 2. Check if equation is quadratic. If so, calculate its discriminant // and, if possible, print all roots to stdout. if (a == 0 || (a == 0 && b == 0 && c == 0)) { printf("Please enter a cooler formula"); return; } double d = b * b + (-4) * a * c; printf("Discriminant: %.2f\n", d); if (d < 0) { printf("Discriminant is lower than 0, cannot solve equation in R"); return; } double rootA, rootB; rootA = (-b + sqrt(d)) / (2*a); rootB = (-b - sqrt(d)) / (2*a); if (rootA == rootB) { printf("Equation has one solution: %.2f", rootA); } else { printf("Equation has two solution: %.2f and %.2f", rootA, rootB); } return; } void read_print_is_character() { // TODO 1. Read one character from stdin. printf("Enter a character:\n"); char l; scanf(" %c", &l); // TODO 2. Determine whether the character represents a letter (a-z, A-Z) or // not and print the result to stdout. if ((l >= 'a' && l <= 'z') || (l >= 'A' && l <= 'Z')) { printf("%c IS a letter (a-z or A-Z)", l); } else { printf("%c is NOT a letter (a-z or A-Z)", l); } return; } void read_print_factorial() { printf("Enter a number for calcuation of factorial:\n"); // TODO 1. Read one number from stdin. int a; scanf("%d", &a); // TODO 2. Print its factorial (!) to stdout. for (int i = a - 1; i != 0; --i) { a *= i; } printf("Factorial: %d", a); return; } void read_print_gcd() { // TODO 1. Read two numbers from stdin. printf("Enter two numbers to calculate gcd:\n"); int a, b; scanf("%d %d", &a, &b); // see https://en.wikipedia.org/wiki/Greatest_common_divisor#Euclidean_algorithm while (b != 0) { int temp = b; b = a % b; a = temp; } printf("gcd is %d\n", a); return; } #ifndef TEST_BUILD int main() { printf("\n--read_print_quadratic--\n"); read_print_quadratic(); printf("\n--read_print_is_character--\n"); read_print_is_character(); printf("\n--read_print_factorial--\n"); read_print_factorial(); printf("\n--read_print_gcd--\n"); read_print_gcd(); return 0; } #endif