#include <stdio.h>
int main () {
int n;
char c;
float h;
//方法一
//scanf("%d\n", &n); //'\n'表示忽略所有的空白字符,输入非空白字符结束输入 ,不加'\n'会使c接收换行符
//方法二
scanf("%d", &n);
getchar(); //接收换行符
while ( n-- ) {
//scanf("%c %f\n", &c, &h);
scanf("%c %f", &c, &h);
getchar();
if ( c == 'F' )
printf("%.2f\n", h * 1.09);
else
printf("%.2f\n", h / 1.09);
}
return 0;
}
如果不加,那么你后面的scanf("%c...这句输入的字符就会自动接收前一句输入后的换行符了。用getchar()把换行符接收掉才行
getchar()函数以字符为单位对输入的数据进行读取。
scanf("%d", &n); //这里输入一个整数时,一般会从键盘敲一个回车符,如果不加getchar();
scanf("%c %f", &c, &h);在读取%c时会把回车符读入缓存并赋值给c,所以,需要加一个getchar()来吧上面输入时多产生的回车符吸收掉。