当前位置:首页 » 编程语言 » 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)。
祝国庆快乐。