读书人

这个程序错在那里了解决办法

发布时间: 2012-02-20 21:18:25 作者: rapoo

这个程序错在那里了
#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;
}
}
}

读书人网 >C++

热点推荐