第1个回答 2019-04-12
#include <stdio.h>
#define PI 3.1415926
double getS(double r)
{
return PI * r * r;
}
double getC(double r)
{
return 2.0 * PI * r;
}
int main()
{
char ch;
double r;
do{
scanf("%lf", &r);
printf("%.2lf,%.2lf\n", getS(r), getC(r));
getchar(); // for enter
scanf("%c", &ch);
}while( ch == 'Y' );
return 0;
}本回答被提问者和网友采纳
第2个回答 2019-04-11
在scanf里 \n 很特别的,不是要求输入一个回车换行。老师应该专门强调一下这点。引用一下别人的说法: 过滤空格、制表符、回车等输入,也就是说 scanf("%d\n", &i); printf("%d\n", i); 你输入一个数后,它是不会立即显示的,要等再接收到一个非(空格、制表符、回车)的输入scanf语句才结束。