昨天在做习题的时候,反复地发现%lf在程序中带来两个问题,一个是无限循环,一个是略过后面的代码,直接进行下一步。
另外一个问题是scanf语句的转换说明中使用精度是不正确的。精度只能用在printf 的转换说明符中。先记录一下。
c程序设计教程 3.20 有点小问题。在输入-1退出的时候试了几次,都会进入while循环在输出一次printf
//输入principal,rate,days,计算并显示出相应的利息
// 这个程序的问题是自己会再次输入一次interest rate的句子
#include<stdio.h>
int main(void)
{
int days;
float interest=0,principal,rate;
printf("Enter loan principal(-1 to end):");
scanf("%f",&principal);
while(principal!=1){
printf("Enter interest rate:");
scanf("%f",&rate);
printf("Enter term of the loan in days:");
scanf("%d",&days);
interest=principal*rate*days/365;
printf("The interest charge is $ %f.\n",interest);
printf("\nEnter loan principal(-1 to end):");
scanf("%f",&principal);
}
return 0;
}