#include<stdio.h> #define PI 3.141592654 double Ball(double r); double Cylinder(double r,double h); double Cone(double r,double h); int main() { double r, h; int c; while (1) { printf("1-Ball\n"); printf("2-Cylinder\n"); printf("3-Cone\n"); printf("other-Exit\n"); printf("Please enter your command:\n"); scanf("%d", &c); switch (c) { case 1: {printf("Please enter the radius:\n"); scanf("%1f", &r); double x = Ball(r); printf("%1f", x); scanf("%d", &c); break;} case 2: {printf("Please enter the radius and the height:\n"); scanf("%1f%1f", &r, &h); printf("%21f", Cylinder(r, h)); break;} case 3: {printf("Please enter the radius and the height:\n"); scanf("%1f%1f", &r, &h); printf("%21f", Cone(r, h)); break;} default: return 0; } } } double Ball(double r) { double v=(double)4/3*PI*r*r*r; return v; } double Cylinder(double r,double h) { double v=PI*r*r*h; return v; } double Cone(double r,double h) { double v=1.0/3*PI*r*r*h; return v; }
scanf里面应该是%lf,你代码里的是%1f,所以不行