Почему переменная b не принимает значение? - C (СИ)
Формулировка задачи:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<math.h> double inline getUravnenie(double a, double b) { if (a != 0){ double x; x = (-b) / a; printf("Koren' uravnenia x= %.2f", x); } else { printf("Net resheniy."); } return 0; } double inline getUravnenie(double a, double b, double c ) { double x; double D;//дискриминант D = pow(b,2) - 4 * a * c; if (D < 0){ printf("Net korney."); } else{ if(D==0){ x = (-b) / (2 * a); printf("Koren' uravnenia x= %.2f", x); } else if(D>0){ double x1; double x2; x1 = (-b + (sqrt(D))) / (2 * a*b); x2 = (-b - (sqrt(D))) / (2 * a*b); printf("Korni uravnenia x1= %.2f; x2= %.2f;", x1, x2); } } return 0; } int main() { double a, b, c; printf("Vvedite koefficienty uravnenia ax+b=0; ax^2+bx+c=0.\n"); printf("a="); scanf("%d", &a); printf("\nb="); scanf("%d", &b); printf("\nc="); scanf("%d", &c); printf("Nayti koren' uravnenia %dx+ %d =0\n", a,b); getUravnenie(a, b); printf("\nNayti korni uravnenia %dx^2+%dx+%d=0\n", a, b, c); getUravnenie(a, b, c); return 0; }
Решение задачи: «Почему переменная b не принимает значение?»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<math.h> float inline getUravnenie(float a, float b) { if (a != 0){ float x; x = (-b) / a; printf("Koren' uravnenia x= %.2f", x); } else { printf("Net resheniy."); } return 0; } float inline getUravnenie(float a, float b, float c ) { float x; float D;//дискриминант D = pow(b,2) - 4 * a * c; if (D < 0){ printf("Net korney."); } else{ if(D==0){ x = (-b) / (2 * a); printf("Koren' uravnenia x= %.2f", x); } else if(D>0){ float x1; float x2; x1 = (-b + (sqrt(D))) / (2 * a*b); x2 = (-b - (sqrt(D))) / (2 * a*b); printf("Korni uravnenia x1= %.2f; x2= %.2f;", x1, x2); } } return 0; } int main() { float a, b, c; printf("Vvedite koefficienty uravnenia ax+b=0; ax^2+bx+c=0.\n"); printf("a="); scanf("%f", &a); printf("\nb="); scanf("%f", &b); printf("\nc="); scanf("%f", &c); printf("Nayti koren' uravnenia %.2fx+ %.2f =0\n", a,b); getUravnenie(a, b); printf("\nNayti korni uravnenia %.2fx^2+%.2fx+%.2f=0\n", a, b, c); getUravnenie(a, b, c); return 0; }
Объяснение кода листинга программы
- Создается функция
getUravnenie
с двумя или тремя аргументами типаfloat
:a
,b
иc
. - Внутри функции
getUravnenie
приa != 0
вычисляется кортеж(x = (-b) / a)
и выводится на экран. - Если
a == 0
, то выводится сообщениеNet resheniy.
. - В функции
getUravnenie
приD < 0
выводится сообщениеNet korney.
. - Если
D == 0
, то вычисляется кортеж(x = (-b) / (2 * a))
и выводится на экран. - Если
D > 0
, то вычисляются кортежи(x1 = (-b + (sqrt(D))) / (2 * a*b))
и(x2 = (-b - (sqrt(D))) / (2 * a*b))
, и выводятся на экран. - В функции
main
с помощьюscanf
вводятся значенияa
,b
иc
. - Вызывается функция
getUravnenie
с аргументамиa
,b
. - Вызывается функция
getUravnenie
с аргументамиa
,b
,c
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д