首页 > 解决方案 > Turbo C 给出的输出为 0.000000

问题描述

我已经为 Turbo C 设置了正确的目录路径。但它的输出为 0.000000

以下是程序:

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

void main() {
    int n;
    float r, si, ci, p;
    clrscr();
    printf("enter principle amount\n");
    scanf("%f", &p);
    printf("enter rate of interest\n");
    scanf("%d", &r);
    printf("enter number of years\n");
    scanf("%f", &n);
    si = p * n * r / 100;
    ci = p * (pow((1 + (r / 100)), n) - 1);
    printf("simple interest=%f\n", si);
    printf("compound interest=%f", ci);
    getch();
}

它应该给出数字而不是 0.000000

有什么帮助吗?

标签: cturbo-c

解决方案


改变:

scanf("%f",&n);

到:

scanf("%d",&n);

正如评论中已经建议的那样,因为n是整数,而不是浮点数。

对于r类型float,您应该使用scanf("%f",&r);.

PS:考虑使用现代编译器,例如 GCC。


推荐阅读