#include
成都創(chuàng)新互聯(lián)專注于黃山區(qū)企業(yè)網(wǎng)站建設(shè),響應式網(wǎng)站,商城網(wǎng)站制作。黃山區(qū)網(wǎng)站建設(shè)公司,為黃山區(qū)等地區(qū)提供建站服務(wù)。全流程按需制作,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
stdio.h
void
main()
{
float
a,
b,
h;
//
梯形的上底、下底和高
printf("請依次輸入梯形的上底、下底和高:");
scanf("%f%f%f",
a,
b,h);
printf("梯形的面積:%f",
(a+b)*h/2);
}
?擴展資料:
C語言特有特點:
1.C語言是一個有結(jié)構(gòu)化程序設(shè)計、具有變量作用域(variable
scope)以及遞歸功能的過程式語言。
2.C語言傳遞參數(shù)均是以值傳遞(pass
by
value),另外也可以傳遞指針(a
pointer
passed
by
value)。
3.不同的變量類型可以用結(jié)構(gòu)體(struct)組合在一起。
4.只有32個保留字(reserved
keywords),使變量、函數(shù)命名有更多彈性。
5.部份的變量類型可以轉(zhuǎn)換,例如整型和字符型變量。
6.通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
7.預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
參考資料:
c語言
#include stdio.h
int main()
{
float a,b,c,s;
printf("---求梯形的面積---\n");
printf("請輸入梯形上底長度:");
scanf("%f",a);
printf("請輸入梯形下底長度:");
scanf("%f",b);
printf("請輸入梯形的高:");
scanf("%f",c);
s=(a+b)*c/2;
printf("該梯形的面積為:%.2f\n",s);
return 0;
}
你的代碼中一些問題:
① 圖片第四行少寫了分號,并且該函數(shù)聲明 double area(double x,double y,double z); 建議寫在最開頭。當然,寫在主函數(shù)里也可以,這是小問題。
② double類型對應的轉(zhuǎn)換說明是 %lf。錯誤的轉(zhuǎn)換說明會導致輸出錯誤。
③ 主函數(shù)中已經(jīng)利用 s=0.5*(a+b)*c; 求出了梯形的面積,那么為什么還要創(chuàng)建area()函數(shù)呢?況且這個函數(shù)還沒用上。s和area()函數(shù)這倆用一個就行。
附上代碼:
① 使用area()函數(shù)
#include?stdio.h
double?area(double?x,double?y,double?z);
int?main(void)
{
double?a,b,c,s;
printf("Please?enter?a,b?and?c:");
scanf("%lf,%lf,%lf",a,b,c);
s=area(a,b,c);
printf("s=%lf\n",s);
return?0;
}
double?area(double?x,double?y,double?z)
{
return?0.5*(x+y)*z;
}
② 在主函數(shù)中直接求
#include?stdio.h
int?main(void)
{
double?a,b,c,s;
printf("Please?enter?a,b?and?c:");
scanf("%lf,%lf,%lf",a,b,c);
s=0.5*(a+b)*c;
printf("s=%lf\n",s);
return?0;
}
其實你后面都沒錯,就是前面漏了頭文件。給你推薦個萬能頭文件:#includebits/stdc++.h
已經(jīng)編譯成功的代碼如圖:
運行后: