这个程序错在那里了
#include <stdio.h>
#define PI 3.1415926
void main()
{
double r,vol;
char answer;
while(1)
{
printf( "ball 's vol count? Y / N \n ");
answer = getchar();
if(answer == 'Y ')
{
printf( "Please input anything number...\n ");
scanf( "%5.3f ",&r);
vol=4 / 3 * PI * r * r * r;
printf( "ball 's vol is:\n%5.0f\n ",vol);
answer=0x00;
r=0x00;
}
else if(answer == 'N ')
{
return;
}
}
}
[解决办法]
scanf( "%5.3f ",&r);
printf( "ball 's vol is:\n%5.0f\n ",vol);
[解决办法]
vol=4.0 / 3 * PI * r * r * r;
或4 * PI * r * r * r / 3;
[解决办法]
#include <stdio.h>
#define PI 3.1415926
int main()
{
double r,vol;
char answer;
while(1)
{
printf( "ball 's vol count? Y / N \n ");
answer = getchar();
if(answer == 'Y ')
{
printf( "Please input anything number...\n ");
scanf( "%lf ",&r);
vol=4 / 3 * PI * r * r * r;
printf( "ball 's vol is:\n%5.0lf\n ",vol);
answer=0x00;
r=0x00;
}
else if(answer == 'N ')
{
return 0;
}
}
return 0;
}
[解决办法]
double 数据,
请使用 %lf 格式控制符号,
否则数据接收和输出会出错的 ~
[解决办法]
#include <stdio.h>
#define PI 3.1415926
void main()
{
double r,vol;
char answer;
while(1)
{
printf( "ball 's vol count? Y / N \n ");
answer = getchar();
fflush(stdout);
fflush(stdin);
if(answer == 'Y ')
{
printf( "Please input anything number...\n ");
scanf( "%5.3f ",&r);
vol=4 / 3 * PI * r * r * r;
printf( "ball 's vol is:\n%5.0lf\n ",vol);
answer=0x00;
r=0x00;
fflush(stdout);
fflush(stdin);
}
else if(answer == 'N ')
{
return 0;
}
}
}