会C语言的朋友们,帮刚入门的我看一下。

来源:百度知道 编辑:UC知道 时间:2024/06/04 06:35:15
#include<stdio.h>
void main()
{
double r,h,s,pi;
pi=3.1415926;
scanf("%f,%f",&r,&h);
s=pi*r*r*h;
printf("圆柱体的体积是:%f\n",s);
}

在VC++6.0的环境下编译的,没有错误。。。

但是运行以后算结果就出错误。。

会C的朋友,可不可以帮我解答一下,最好详细点,我错在哪了,应该怎么写?

这是一本书的课后练习题。。
补充一下,算出的结果

25,78
圆柱体的体积是:-249123295243050270000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000.000000
Press any key to continue

就是这样,我感觉可能是数字类型的事,导致益出了。。但是还找不出原因

这么简单的题目也会出问题?

可能是你用的格式化串不对。

scanf("%lf,%lf",&r,&h);
s=pi*r*r*h;
printf("圆柱体的体积是:%.5lf\n",s);

scanf("%f,%f",&r,&h);
这个事没错,但是你输入的时候要小心,输入完一个数之后得打逗号,建议改成scanf("%f%f",&r,&h);
其他我还真没发现错,其实我觉得你该把错误情况说明下。
给你个建议,在计算之前,先吧之前输入的几个数字打印出来看看,是否正确,有助于调试。

你把double改为float就行了

你把double改为float看可以么