为什么我的while循环执行了一次就执行失败了?
Why my while loop is fail to execute after one time?
下面是我的程序
void metertofeet(double);
void gramtopounds(double);
void celsiustofahren(double);
int main(void)
{
int n,i=0;
char unit;
double value;
scanf("%d",&n);
while(i<n)
{
i++;
scanf("%lf %s",&value,&unit);
if(unit=='m')
metertofeet(value);
if(unit=='g')
gramtopounds(value);
if(unit=='c')
celsiustofahren(value);
}
return 0;
}
void metertofeet(double v1)
{
double F;
F=3.2808*v1;
printf("%.6lf ft\n",F);
}
void gramtopounds(double v2)
{
double P;
P = 0.002205*v2;
printf("%.6lf lbs\n",P);
}
void celsiustofahren(double v3)
{
double Fh;
Fh=32 + (1.8*v3);
printf("%.6lf f\n",Fh);
}
这是一个将米转换为英尺、将克转换为磅以及将摄氏度转换为华氏度的程序。基于 n
的转换次数(即)值 当执行发生时,在 while 循环内仅询问一次性输入。即使我的 i
值未超过 n
,循环也会失败
unit
是一个字符变量。 %s
指定一个字符串。将其设为 %c
,如
scanf("%lf %c",&value,&unit);
.
下面是我的程序
void metertofeet(double);
void gramtopounds(double);
void celsiustofahren(double);
int main(void)
{
int n,i=0;
char unit;
double value;
scanf("%d",&n);
while(i<n)
{
i++;
scanf("%lf %s",&value,&unit);
if(unit=='m')
metertofeet(value);
if(unit=='g')
gramtopounds(value);
if(unit=='c')
celsiustofahren(value);
}
return 0;
}
void metertofeet(double v1)
{
double F;
F=3.2808*v1;
printf("%.6lf ft\n",F);
}
void gramtopounds(double v2)
{
double P;
P = 0.002205*v2;
printf("%.6lf lbs\n",P);
}
void celsiustofahren(double v3)
{
double Fh;
Fh=32 + (1.8*v3);
printf("%.6lf f\n",Fh);
}
这是一个将米转换为英尺、将克转换为磅以及将摄氏度转换为华氏度的程序。基于 n
的转换次数(即)值 当执行发生时,在 while 循环内仅询问一次性输入。即使我的 i
值未超过 n
unit
是一个字符变量。 %s
指定一个字符串。将其设为 %c
,如
scanf("%lf %c",&value,&unit);
.