Почему переменная 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;
}

Объяснение кода листинга программы

  1. Создается функция getUravnenie с двумя или тремя аргументами типа float: a, b и c.
  2. Внутри функции getUravnenie при a != 0 вычисляется кортеж (x = (-b) / a) и выводится на экран.
  3. Если a == 0, то выводится сообщение Net resheniy..
  4. В функции getUravnenie при D < 0 выводится сообщение Net korney..
  5. Если D == 0, то вычисляется кортеж (x = (-b) / (2 * a)) и выводится на экран.
  6. Если D > 0, то вычисляются кортежи (x1 = (-b + (sqrt(D))) / (2 * a*b)) и (x2 = (-b - (sqrt(D))) / (2 * a*b)), и выводятся на экран.
  7. В функции main с помощью scanf вводятся значения a, b и c.
  8. Вызывается функция getUravnenie с аргументами a, b.
  9. Вызывается функция getUravnenie с аргументами a, b, c.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы