Как ввести через scanf следующее 5i + 3 - C (СИ)
Формулировка задачи:
Нужно перемножить два комплексных числа. По условию задания нужно одним числом разом ввести "5i + 3", а вторым числом 2i + 4. Причем я могу ввести 5 i +3 и т.п. Затем перемножить их.
Проще сделать так и я сделал
Но профессор требует чтобы комплексные числа вводились разом! Как это сделать, что за тип переменных использовать, я в тупике. Должен ли я одно комплексное число одной переменной передать
Лучший ответ и спасибо гарантирую
#include <stdio.h> struct complex { float x, y; }; main() { struct complex a, b, sum, mult; printf("Number A\n"); printf(" Mnim part: "); scanf("%f",&a.x); printf(" Real part: "); scanf("%f",&a.y); printf("Number B\n"); printf(" Mnim part: "); scanf("%f",&b.x); printf(" Real part: "); scanf("%f",&b.y); mult.x = a.y * b.y - a.x * b.x; mult.y = a.x * b.y + a.y * b.x; printf("mult: %.2fi+%.2f\n" ,mult.y,mult.x); }
printf("Enter the first complex number in the form ai + b: "); scanf("........", firstComplex); //где firstComplex будет равно например 5i + 3
Решение задачи: «Как ввести через scanf следующее 5i + 3»
textual
Листинг программы
struct complex a; scanf("%fi +%f", &a.x, &a.y);
Объяснение кода листинга программы
В данном коде:
- Объявляется структура
complex
с полямиx
иy
типаfloat
. - Затем, с помощью функции
scanf
, вводятся значения для полейx
иy
структурыa
. - Ввод происходит в формате
5i + 3
, где5i
- это пятикратное значениеi
(неизвестное число), а+ 3
- это сложение числа3
с предыдущим значением. - Введенные значения сохраняются в полях
x
иy
структурыa
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д