gpt4 book ai didi

计算C中三角形的边长

转载 作者:行者123 更新时间:2023-11-30 21:25:48 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,借助毕达哥拉斯方程 (c²=a²+b²) 来计算三角形一侧的长度。用户必须可以选择他想要计算哪一边,这是我尝试过的:

#include <conio.h>
#include <stdio.h>
#include <math.h>
// Pitagora:
// c=sqrt(pow(a,2)+pow(b,2));
// a=sqrt(pow(c,2)-pow(b,2));
// b=sqrt(pow(c,2)-pow(a,2));
int cateta(int x, int y){
int cat;
printf("Dati marimea lui:");
scanf("%d", &x);
printf("Dati marimea lui:");
scanf("%d", &y);
cat=sqrt(pow(x,2)-pow(y,2));
return cat;
}
int main(){

int a,b,c;
char l;
printf("Ce latura doriti sa aflati?");
printf("\n c : ipotenuza\n a : cateta alaturata\n b : cateta opusa\n");
printf("Introduceti litera laturei respective : ");
scanf("%s", &l);
if (l == a){
a=cateta(c,b);
printf("Marimea catetei alaturate este: %d", a);
}
else if (l == b){
b=cateta(c,a);
printf("Marimea catetei opuse este: %d", b);
}
else {
c=sqrt(pow(a,2)+pow(b,2));
printf("Marimea ipotenuzei este: %d", c);
printf("\n");
}
getch ();
return 0;

}

但是,由于某种原因,当我给变量 &l 赋予值 a 时,程序会显示这段代码的内容:printf("Marimea ipotenuzei este: %d", c); 而不是扫描 x 和 y 的值,然后终止。这是结果的图片:https://www.dropbox.com/s/wzk3osw1t8729et/Untitled.png?dl=0

最佳答案

您在 scanf() 中使用 %s 作为字符类型变量,请改用此

scanf(" %c", &l);

关于计算C中三角形的边长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26995794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com