c编程,输入R和H求圆周长,圆面积等等,调试没错误但是输出结果全为0,是哪里写错了吗???

#include<stdio.h>
void main()
{
float r,h,l,s1,s2,v1,v2;
float pi=3.14;
printf("请输入圆半径r,圆柱高h: ");
scanf("r=%f h=%f",&r,&h);
l=2*pi*r;
s1=r*r*pi;
s2=4*pi*r*r;
v1=4/3*pi*r*r*r;
v2=pi*r*r*h;
printf("圆周长l为%6.2f\n圆面积s1为%6.2f\n圆球面面积s2为%6.2f\n圆球体积v1为%6.2f\n圆柱体积v2为%6.2f\n",l,s1,s2,v1,v2);
}

没错, 输入的时候要输入: r=一个数字 h=一个数字(这与scanf对应)
请输入圆半径r,圆柱高h: r=1 h=2
圆周长l为 6.28
圆面积s1为 3.14
圆球面面积s2为 12.56
圆球体积v1为 3.14
圆柱体积v2为 6.28

或者你把 scanf("r=%f h=%f",&r,&h);改成 scanf("%f%f",&r,&h);
这样你就可以直接输入两个float数字
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-21
你输入有没有输错啊
要输入 如: r=5 h=6回车
第2个回答  2011-10-21

在VC6.0上试了一下,没有什么问题!可能是你输入错误了。

第3个回答  2011-10-21
#include<stdio.h>

int main()
{
float r,h,l,s1,s2,v1,v2;
float pi=3.14;

printf("请输入圆半径r,圆柱高h: ");
scanf("r=%f h=%f",&r,&h);
l=2.0*pi*r;
s1=r*r*pi;
s2=4.0*pi*r*r;
v1=4.0/3*pi*r*r*r;
v2=pi*r*r*h;
printf("圆周长l为%6.2f\n圆面积s1为%6.2f\n圆球面面积s2为%6.2f\n圆球体积v1为%6.2f\n圆柱体积v2为%6.2f\n",l,s1,s2,v1,v2);

return 0;
}
这样写程序很容易出现两个错误:
1.scanf输入数据的格式必须按照双引号里的格式输入;
2.float数据的除法运算表达式要加小数点,该程序中4除以3没有问题,而3除以4就会得0,整个表达式都会变成0,所以要改成3.0除以4,就可以啦,以后注意就行!!
第4个回答  2011-10-21
来判断

c编程,输入R和H求圆周长,圆面积等等,调试没错误但是输出结果全为0,是...
没错, 输入的时候要输入: r=一个数字 h=一个数字(这与scanf对应)请输入圆半径r,圆柱高h: r=1 h=2 圆周长l为 6.28 圆面积s1为 3.14 圆球面面积s2为 12.56 圆球体积v1为 3.14 圆柱体积v2为 6.28 或者你把 scanf("r=%f h=%f",&r,&h);改成 scanf("%f%f",&r...

为什么C语言中计算圆的周长和面积的结果,都是0?
在C语言中计算圆的周长和面积的结果都是0,可能是因为输入数据的类型不匹配、scanf函数使用不当、或者变量未正确赋值。‌‌输入数据的类型不匹配‌:如果输入半径的变量类型定义为整数(int),而scanf函数期望接收的是浮点数(如float或double),则输入的值可能无法正确赋值给变量,导致...

c语言编程计算圆的面积周长为什么结果是0?找不到出错在哪里
输入格式错误。应该是%lf,不是%1f。f前面是英文字母l,不是数字1。

c语言,这个计算圆周长,面积的程序,为什么输出结果总是0
scanf 函数格式错误,导致赋值失败;改为:scanf("%f",&d);

c程序计算圆面积结果为0,无错误
&r,&h);改为scanf("%f %f",&r,&h);scanf语句用错了 在scanf语句的哭号里面的双引号里面只用%f或%d或%s来表示要写入的值的类型。所以你写的r=%f是错误的,导致从键盘写入的数值不能赋给r。所以系统就自动给r赋予了在定义r时也就是float r时所给的乱码,使得最终的不错正确的结果。

C语言,要求计算圆周长,圆球表面积,圆球体积,圆柱体积,我的程序没有错误...
输入数据时,必须是用英文的逗号做分隔的两个数字。

C语言求圆的面积和周长代码没有错为什么执行出错?
我记得刚才回答过的 double的输入输出要用%lf 没看到我的回答吗?include<stdio.h> define PI 3.14 main(){ double radius,circum,area;scanf("%lf",&radius);circum=2*radius*PI;area=radius*radius*PI;printf("r=%lf",radius);printf("c=%lf",circum);printf("s=%lf",area);} 给你...

C语言 输入圆半径求面积周长输出失败 输出为0.00000000
%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)。祝国庆快乐。

java简单编程,求圆面积和周长,能够编译,但之后显示值为0,为什么,求解答...
首先你的周长与面积公式是错误的,周长=2*PI*banjing,面积=PI*banjing*banjing 其次,自己定义了PI,但是没有赋值,被设置成0,可以改成:private float PI=3.14159;

C语言了简单的算圆周长和面积,然而出错了。
你的程序也没有判断输入半径是否大于0 就算语法正确,输入一个负数 ,面积就是负的 明显不对 include<stdio.h> int main(){ int r;printf("请输入r:");scanf("%d",&r);if(r>0)printf("面积是:%f\\n",2*3.1415*r*r);else printf("输入的r不合法!\\n");return 0;} ...

相似回答