#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,p,s;
printf("請輸入三個數字:");
scanf("%f,%f,%f",&a,&b,&c);
if((a+b)>c &&( a+c)>b &&( b+c)>a)
{
p=(float)(a+b+c)/2;
s=sqrt(s*(s-a)*(s-b)*(s-c));
printf("這三個數可以構成三角形,其面積為%f。\n",s);
}
else
{
printf("這三個數無法構成三角形\n");
}
fflush(stdin);
getchar();
}
uj5u.com熱心網友回復:
你怎么輸入的?你輸入3,4,5試試
uj5u.com熱心網友回復:
3,4,5試過了不行
uj5u.com熱心網友回復:
先說您的代碼,s的賦值應該改為s = sqrt(p*(p - a)*(p - b)*(p - c));//sqrt()函式里的s都改為p
在來說您的輸入,因為輸入的代碼
scanf("%f,%f,%f", &a, &b, &c);中包含了逗號,因此,您的輸入也必須有逗號

如果不想輸入的時候加入逗號,可以把代碼改為
code=c]scanf("%f%f%f", &a, &b, &c);[/code]
uj5u.com熱心網友回復:
好白癡啊我不知道為什么一直沒看出來...謝謝!我輸入時用的也是中文逗號
uj5u.com熱心網友回復:
看一下自己輸入的格式,尤其是逗號的中英文~uj5u.com熱心網友回復:
scanf后面加一句列印,立馬可以發現問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/24054.html
標籤:新手樂園
上一篇:VS2019出現中文亂碼
