来自用户输入的双指数

Posted

技术标签:

【中文标题】来自用户输入的双指数【英文标题】:Double Exponent from user input 【发布时间】:2016-04-20 07:00:38 【问题描述】:

所以我的问题与双精度有关,我试图从用户那里获取任何值的小数点输入,它的指数也是小数点,以便在另一个函数中显示计算后的结果,其中变量将值作为双精度传递我也使用了两倍的输出,但最终结果是 1.00000,即使我将输出说明符用作 %lf%。

#include <stdio.h>

double pwra (double, double);

int main()

    double number, power, xx;

    printf("Enter Number: ");
    scanf("%lf", &number);

    printf("Enter Number: ");
    scanf("%lf", &power);

    xx=pwra (number,power);

    printf("Result: %lf", xx);

    return 0;
 

double pwra (double num, double pwr)

    int count;
    int result = 1;

    for(count=1;count<=pwr;count++)
    
        result = result*num;
    
    return result;

【问题讨论】:

欢迎来到 ***,@TryllZ。您会发现,如果您将代码格式化为易于阅读,您会更快地获得更好的帮助。另外:你从来没有在这里真正问过问题,你只是发表了声明。尝试尽可能具体地说明您要弄清楚的是什么。 好的,对不起,我的印象是同一个人会回复我之前的问题,无论如何谢谢,现在将编辑它.. 那些人可能会,但人们(比如我!)也可能会在网站首页或通过其他方式找到这个问题。每个问题都应尽可能独立,以确保 (a) 尽可能广泛的潜在回答者可以访问它,并且 (b) 尽可能对以后可能有相同问题的其他人有用。 @Paul,我很抱歉,因为我不知道任何人都可以编辑我的代码,其次我是编程新手,对这些东西不熟悉,请不要抨击我 :) 我已经在几分钟前回答了您的问题(见下文)。以供将来参考,请注意代码格式(没有人想调试不可读的代码混乱),您可能还想获得a good book on C 和learn how to use your debugger。 【参考方案1】:

您在pwrs() 函数中为result 使用了错误的类型。

变化:

int result = 1;

到:

double result = 1.0;

请注意,如果您学会使用调试器,这种简单的错误很容易识别。延伸阅读:How to debug small programs.

还要注意pwr 应该是int,而不是double,因为您的函数仅适用于整数指数。

【讨论】:

我试过了,这次结果是双精度和十进制值,但结果与计算器结果不同..?!,困惑..调试器没有显示错误.. @TryllZ:调试器不会“显示错误”(除了崩溃)——您需要学习如何使用它来逐步执行您的代码、检查变量,从而了解为什么您的代码不会不能像你期望的那样工作 - 如果你想学习成为一名程序员,这是必不可少的。 先生,我知道鼠标悬停时的调试显示了当时存储在变量中的值,但 Qunicy 没有鼠标悬停进行调试,Dev C++ 在调试时有时会出现崩溃..跨度> 好吧,除非你有一个可以工作的调试器,否则你会发现编写代码非常困难 - 使用调试器的替代方法是添加战略性 printf 语句来检查变量等,但这要慢得多,而且比使用像样的调试器更乏味。 @TryllZ “...结果是双精度和十进制值,但结果与计算器结果不同”缺乏有用的信息。说明 1) 输入、2) 输出和 3) 预期输出要有用得多。

以上是关于来自用户输入的双指数的主要内容,如果未能解决你的问题,请参考以下文章

C++ 使用用户输入和指数查找现值

Firebase Auth 使用来自不同类的文本输入创建新用户

在 C++ 中验证来自用户的整数输入

任务十六:零基础JavaScript编码

如何使用 for 循环使用指数

等待来自另一个类的 JApplet 中的用户输入