當前位置:首頁 » 編程語言 » c語言求圓周長為什麼得出的是0
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言求圓周長為什麼得出的是0

發布時間: 2022-07-24 05:34:06

c語言問題~~輸入R和H算圓周長,圓面積等,調試無錯誤 ,但是輸出結果全為0....是程序哪裡錯了嗎

scanf("r=%f h=%f",&r,&h);這句不能這么寫,改為:
scanf("%f%f",&r,&h);
邏輯有沒有錯我沒有檢查
謝謝採納

㈡ C語言,要求計算圓周長,圓球表面積,圓球體積,圓柱體積,我的程序沒有錯誤,可結果都是0

輸入數據時,必須是用英文的逗號做分隔的兩個數字。

㈢ c語言,這個計算圓周長,面積的程序,為什麼輸出結果總是0

scanf 函數格式錯誤,導致賦值失敗;
改為:scanf("%f",&d);

㈣ C語言為什麼結果是0

雖然題主定義了求周長的函數,但是沒有在main函數裡面調用,所以實際上也就沒有執行求圓周長的代碼。輸出的變數C實際上是沒有初始化的。在列印變數C之前調用C=zhouchang(r);即可。另外就是,調用子函數之前應該需要聲明

㈤ c語言編程計算圓的面積周長為什麼結果是0找不到出錯在哪裡

輸入格式錯誤。應該是%lf,不是%1f。
f前面是英文字母l,不是數字1。

㈥ 初學C語言 為什麼輸入r後 周長和面積都是0

初學C語言為什麼輸入阿後周長和面積都是零,因為這是周長和面積的一個名稱,所以說輸入也很正常

㈦ C語言 編寫計算圓的面積 體積的程序 未查出編寫錯誤 輸出全是0

scanf("%f,&f",&r,&h);,將其中的「,」去掉,輸入數據時以空格分隔數據。

不去掉也行,不過在輸入數據時以「,」分隔數據,不能用空格。
scanf函數盡量不要使用格式控制符

㈧ C語言求圓周長問題

在main前面加個 int 即
#include<stdio.h>
int main()
{
float PI=3.1416,r,C;
printf("Enter r:\n");
scanf("%f",&r);
C=2*PI*r;
printf("C=%f\n",C);
return 0;
}

你沒有寫返回值類型

㈨ 關於C語言,計算圓的面積和周長.

C#程序:

#definen3.1415926#include<stdio.h>voidmain(){doubles,l,r;scanf("%lf",&r);s=n*r*r;l=2*n*r;printf("s=%lf l=%lf ",s,l);//float對應%fdouble對應%lf}

拓展資料

求圖像的周長

描述:

給一個用 . 和X表示的圖形,圖形在上、下、左、右、左上、左下、右上、右下8個方向都被看作是連通的,並且圖像中間不會出現空洞,求這個圖形的邊長。

輸入:

首先給出m、n、x、y四個正整數,下面給出m×n的圖形,x、y表示點擊的位置,全0表示結束。

輸出:

點擊的圖形的周長。

輸入樣例

2 2 2 2 XX XX 6 4 2 3 .XXX .XXX .XXX ...X ..X. X... 0 0 0 0

輸出樣例:

#include<stdio.h>

void length();

void search(int x,int y);

int m,n,x,y,q=0,k=0; char

a[100][100]; int

b[100][100];//該數組用來存取與給定點有關的位置的坐標

int l[8]={1,-1,0,0,1,1,-1,-1},h

[8]={0,0,-1,1,1,-1,1,-1};//兩數組分別表示八個方向的橫縱坐標位移,用於遞歸時,對八個方向的討論

int main() {int i,j;char d[100][100];while(1){k=0;scanf

("%d%d%d%d",&m,&n,&x,&y);if

(m==0&&n==0)return0;

scanf(" ");for(i=1;i<=m;i++){for(j=1;j<=n+1;j++)

{scanf("%c",&d[i][j]);b[i][j]=0;//每次輸入時都要對數組初始化,避免上一組數據的影響

if(d[i][j]!=' ')a[i][j]=d[i][j];}}if(a[x][y]=='.')//若點擊的點不是X,則周長為零{printf("0 ");}else{b[x][y]=1; //該點處為X,對應數組元素賦值為一search(x,y);

length();

}

}

} void search (int x,int y)

{ int i,row,col;

for(i=0;i<8;i++)

{

row=l[i]+x;

col=h[i]+y;

if(row>m||col>n||row<1||col<1)

continue;//若數組越界,跳過

else if(b[row][col]==1)continue;//若之前已給該位置賦值為一,則跳過,避免遞歸陷入死循環

else if(a[row][col]=='X'){b[row][col]=1;////為該點處數組元素賦值為1

search(row,col);

}

}

} void length()//要計算圖形周長面積,只需數一下每一個X周圍有幾個.即可或者當X處於邊界時,周長+1 {int c=0;for(int i=1;i<=m;i++)

{

for(int j=1;j<=n;j++){if(b[i][j]==1)

{

if(i-1<1||a[i-1][j]=='.')c++; if(i+1>m||a[i+1][j]=='.')c++;

if(j+1>n||a[i][j+1]=='.')c++;

if(j-1<1||a[i][j-1]=='.')c++;}}}printf("%d ",c); }

㈩ C語言 輸入圓半徑求面積周長輸出失敗 輸出為0.00000000

好心人都睡覺了么?
我來幫你解答吧。
因為s,c是unsigned int型變數,在printf("所求圓的面積為:%lf,所求圓的周長為:%lf\n",s,c);中不能實現從unsigned int到double(因為%lf)的隱式轉換。
解決方法1: 改為printf("所求圓的面積為:%lf,所求圓的周長為:%lf\n",(double)s,(double)c);強制類型轉換。
2. unsigned int r,s,c改為double。scanf("%d",&r)改為scanf("%lf",&r)。
祝國慶快樂。