使用幂函数时float = int

时间:2014-03-05 06:49:05

标签: c floating-point

我试图运行它,似乎无法找出它为什么不会运行。先感谢您。请知道我是新人。

#include <stdio.h>
#include <math.h>

int main(void)
{
float IR;
float invested;
float time;

printf("Please enter the following to be calculated:");
scanf("Interest rate: %f\n", &IR);
scanf("Amount invested: %f\n", &invested);
scanf("Time: %f\n", &time);

float ans;
ans = (invested(((float)1+((IR)^(time)))));

printf("%f", ans);
}

2 个答案:

答案 0 :(得分:6)

^不是幂函数。你需要使用ans = invested * (1 + pow(IR, time));

^是按位异或OR XOR

答案 1 :(得分:1)

scanf("Interest rate: %f\n", &IR);

您可能希望程序使用字符串“利率:”提示您,然后处理您的输入。这不是本声明的作用。它实际上希望用户键入“利率:”然后输入一个数字。

要提示用户,请使用printf,然后使用scanf

printf("Interest rate:");
scanf("%f", &IR);      

您还应检查scanf的返回值,以确保输入已成功转换。