Программа теоремы Пифагора в C - PullRequest
0 голосов
/ 02 марта 2011
#include <stdio.h>

float function (float x, float y);
float function2 (float x, float z);
float function3 (float y, float z);

float main()

{
    float x;
    float y;
    float z; 

    {

    printf("Please insert length of adjacent side");
    scanf("%f", &x); 

    printf("Please insert length of opposite side");
    scanf("%f", &y); 

    printf("Please insert length of the hypotenuse");
    scanf("%f", &z);


    }

    {

    if (z = 0){
        printf("The length of the hypotenuse is %f",  function (x, y));}

    else if (y = 0){ 
        printf("The length of the opposite side is %f",  function2(x, z));} 

    else if (x=0){
        printf("The length of the adjacent side is %f",  function3(y, z));} 

    }

}


float function(float x, float y) {

    return(sqrt(((x*x)+(y*y))));

}

float function2(float x, float z) {

    return(sqrt(((z*z)-(x*x))));

}

float function3(float y, float z){

    return(sqrt(((z*z)-(y*y))));

}

Это код, который я должен выяснить недостающую сторону прямоугольного треугольника. Вход для стороны, которую вы не знаете, равен 0. Когда я запускаю программу, она запрашивает у меня все стороны, но затем она не идет и дает мне ответ ... Может кто-нибудь объяснить это? Спасибо

1 Ответ

8 голосов
/ 02 марта 2011

= является оператором присваивания.Замените z = 0 и любые другие подобные ему на z == 0

if (z == 0){ // = changed to ==
    printf("The length of the hypotenuse is %f",  function (x, y));}

else if (y == 0){ // = changed to ==
    printf("The length of the opposite side is %f",  function2(x, z));} 

else if (x == 0){ // = changed to ==
    printf("The length of the adjacent side is %f",  function3(y, z));} 

Справочный лист операторов C

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...