首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数ceil()被忽略

函数ceil()被忽略
EN

Stack Overflow用户
提问于 2016-08-01 23:58:05
回答 2查看 84关注 0票数 0

我有一个关于ceil()函数的问题。在下面的代码中,我尝试在C中对变量monthlyPayment向上舍入两位小数,而ceil函数似乎在输出中被忽略了。图像中的是与其假设的输出进行比较的结果。img

代码语言:javascript
复制
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#define MONTHS 12

int main()
{
    double principle;
    double rate;
    double numYears;
    double numMonths;
    double monthlyPayment;
    double monthlyRate;

    printf("Welcome to the morgage calculator.\nEnter your principal amount to get started. ");
    scanf_s("%lf", &principle);
    printf("Enter the yearly morgage interest rate ");
    scanf_s("%lf", &rate);
    printf("Enter the number of years ");
    scanf_s("%lf", &numYears);
    numMonths = numYears * MONTHS;
    monthlyRate = rate / MONTHS / 100;
    monthlyPayment = ((monthlyRate) / (1 - pow((1 + monthlyRate), (-numMonths)))* principle);
    monthlyPayment = monthlyPayment * 100;
    ceil(monthlyPayment);
    monthlyPayment = monthlyPayment / 100;
    double toPrince = 0.0;
    double interest = 0.0;
    printf("Your total monthly payment ammount:$ %.2lf\n", monthlyPayment);
    printf("Month\tPrinciple\tInterest\t $ to Principle\n");
        for (int index = 1; index <= numMonths;) {
            interest = principle * monthlyRate;
            toPrince = monthlyPayment - interest;   
            printf("%2d%16.2lf %16.2lf %16.2lf\n", index, principle, interest, toPrince);
            principle = principle - toPrince;
            index++;
        }
}
EN

回答 2

Stack Overflow用户

发布于 2016-08-02 00:01:26

只要返回结果,ceil()就不会改变变量。应该是:

代码语言:javascript
复制
double result = ceil(var);
票数 1
EN

Stack Overflow用户

发布于 2016-08-02 00:08:05

你可以通过观察C函数不能修改它们的参数来发现问题,除非你传递一个指向你想要修改的东西的指针。这就是在对scanf的调用中添加&符号的原因。

ceil(monthlyPayment)中没有与号,而且monthlyPayment也不是指针;因此,不可能进行任何修改。

您可以按如下方式修复monthlyPayment的向上舍入代码:

代码语言:javascript
复制
monthlyPayment = ceil(monthlyPayment * 100) / 100;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38703227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档