改一下这道题,拜托了

来源:百度知道 编辑:UC知道 时间:2024/05/15 14:49:12
#include <stdio.h>
#include<math.h>
#include<stdlib.h>
int main ()
{
void payment(float ,float,int);

float principle,rate;
int month;

printf ("enter the principle:");
scanf ("%f",&principle);
printf ("enter the rate:");
scanf ("%f",&rate);
printf ("enter the month:");
scanf ("%d",&month);
payment(principle,rate,month);

system("pause");
return 0;
}

void payment(float principle ,float rate,int month)
{
float payment;

payment=principle/((1/rate)-1/(rate*(pow((1+rate),month))));
printf ("payment is %f\n",payment);

}

什么参数值引起他出错?
我运行并没有错,但是书上说有一些参数值,可能引起结果运行错误,我想想问问是哪些

#include <stdio.h>
#include<math.h>
#include<stdlib.h>
int main ()
{
void payment(float ,float,int);

float principle,rate;
int month;

printf ("enter the principle:");
scanf ("%f",&principle);
printf ("enter the rate:");
scanf ("%f",&rate);
printf ("enter the month:");
scanf ("%d",&month);
payment(principle,rate,month);

system("pause");
return 0;
}

void payment(float principle ,float rate,int month)
{
double payment;

payment=principle/((1/rate)-1/(rate*(pow((1+rate),month))));
printf ("payment is %f\n",payment);

}
float payment应该改成double payment有个警告的意思就是说用float可能会丢值,不准确,这样就好了!

你是出现了什么错误啊?编译错误还是链接错误?

单从