请问这个程序的错误?为啥输出的结果不对啊?计算圆面积 。。。。

#include<stdio.h>
int main()
{
float r, h, C, s, S, v, V;
float PI = 3.141592;
printf("输入圆半径r,圆柱高h:");
scanf_s("圆半径%f,圆柱高%f",&r, & h);
C = 2 * PI * r;
s = PI * r * r;
S = 4 * PI * r * r;
v =( 4 / 3) * PI * r * r * r;
V = (PI * r * r )* h;
printf("C=6.2%f\ns=6.2%f\nS=6.2%f\nv=6.2%f\nV=6.2%f\n", C, s, S, v, V);
return 0;
}

 

 

结果是:

输入圆半径r,圆柱高h:1.5,3
C=6.2-674651712.000000
s=6.236220086272393216.000000
S=6.2144880345089572864.000000
v=6.2-3889101977017459568279552.000000
V=6.2-3889101977017459568279552.000000
 

printf("C=6.2%f\ns=6.2%f\nS=6.2%f\nv=6.2%f\nV=6.2%f\n", C, s, S, v, V);你这里的C=6.2、s=6.2、v=6.2、V=6.2是格式要求的吗?

上面的格式输出结果应该是以下的结果:

输入圆半径r,圆柱高h:C=6.29.424776
s=6.27.068582
S=6.228.274328
v=6.210.602873
V=6.221.205746

还是要printf("C=%6.2f\ns=%6.2f\nS=%6.2f\nv=%6.2f\nV=%6.2f\n", C, s, S, v, V);这样的?这样的输出结果应该是下面的结果:

输入圆半径r,圆柱高h:C=  9.42
s=  7.07
S= 28.27
v= 10.60
V= 21.21

scanf_s("圆半径%f,圆柱高%f",&r, & h);

这一行代码修改为

scanf_s("%f %f",&r, & h);

输入的时候以空格键隔开半径和高,进行输入。 

1.5 3

这样应该就好了。

您好,我把代码修改了一下。您按照我的这个代码试一下。

#include<stdio.h>
int main()
{
    float r, h, C, s, S, v, V;
    float PI = 3.141592;
    printf("输入圆半径r,圆柱高h:\n");
    scanf("%f %f",&r, & h);
    C = 2 * PI * r;
    s = PI * r * r;
    S = 4 * PI * r * r;
    v =( 4.0 / 3.0) * PI * r * r * r;
    V = (PI * r * r )* h;
    printf("C=%6.2f\ns=%6.2f\nS=%6.2f\nv=%6.2f\nV=%6.2f\n", C, s, S, v, V);
    return 0;
}

 

 

如果问题得以解决, 记得采纳一手哦~

printf("C=6.2%f\ns=6.2%f\nS=6.2%f\nv=6.2%f\nV=6.2%f\n", C, s, S, v, V);

这项纠正后结果还是不对

 

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632