请看下哪里错了,C语言的。

来源:百度知道 编辑:UC知道 时间:2024/06/09 07:06:07
float r,h,v,s,l,pi;
main()
{
scanf("%f,%f",&r,&h);
pi=3.1415926;
l=2*pi*r;
s=pi*r^2;
v=s*h;
printf("%.4f,%.4f,%.4f",l,s,v);
}

s=pi*r^2;
是错的!~
C语言里没有"r^2 "这样的!
r的平方应该是"r*r"
en!~!~

//vc6 pass
#include <stdio.h>
#include <math.h>
float r,h,v,s,l,pi;
void main()
{
scanf("%f,%f",&r,&h);
pi=3.1415926f;
l=2*pi*r;
s=pi*float(pow(r,2));
v=s*h;
printf("%.4f,%.4f,%.4f",l,s,v);
}

C语言中可以有r^2这样的操作,虽然不是原意,只是r一定要为整型数据。你这里的错误就是 非法地使用浮点数进行^操作.

s=pi*r^2; 错!
s=pi*r*r;