用小数除法时难以获得正确答案

细心

这是我的第一门编码课程。在选择中选择数字3时出现错误。也就是说,如果我将12除以2,程序将提供正确的输出,但是,如果我将10.4除以2,则程序输出将进入循环,直到停止程序为止。

#include <stdio.h>

int main() {
    /* variable definition: */

    int intValue, menuSelect, results;
    float shrink;

    intValue = 1; 
    // While a positive number
    while (intValue > 0) {    
        printf("Enter a positive Integer\n: ");
        scanf("%d", &intValue);
        {
            printf("Enter 1 to calculate Square, 2 to Calculate Cube, or 3 to divide  input by 2, to end program enter a negative integer.\n: ");
            scanf("%d", &menuSelect);
            if (menuSelect == 1) {
                // Call the Square Function
                results = Square(intValue);
                printf("Square of %d is %d\n", intValue, results);
            } else
            if (menuSelect == 2) {
                // Call the Cube function
                results = Cube(intValue);
                printf("Cube of %d is %d\n", intValue, results);
            } else
            if (menuSelect == 3) {
                // Call the Divisor function
                results = Shrink (intValue);
                printf("The quotient of %d is %d\n", intValue, results);
            } else 
                printf("Invalid menu item, only 1, 2 or 3 is accepted\n");
        }
    }   
    return 0;
}

/* function returning the Square of a number */
int Square(int value) {
    return value * value;
}

/* function returning the Cube of a number */
int Cube(int value) {
    return value * value * value;
}

/* function returning the quotient of a number */
int Shrink(int value) {
    return (double)value / 2;
}
分公司先生

首先是什么

浮动收缩

在主代码的第二行,您的程序甚至不应编译。

您遇到的问题是

1)您不能在程序中输入浮点数。您的变量都是整数,并且只扫描整数。

int intValue,menuSelect,结果;

//(...)

scanf(“%d”,&intValue);

2)您的函数仅返回整数,因此无论如何您都会丢失小数部分。

int Shrink(int value)
{
return (double)value/2;

}

3)不要忘记你的标题!编译器需要知道期望什么

double Square(double value);

/* function returning the Cube of a numnber */
double Cube(double value);

/* function returning the quotient of a number */
double Shrink(double value);

你们中的最后一个有缩进的一些基本问题,不用担心,您很快就会掌握它的。

#include <stdio.h>
#include <stdlib.h>


double Square(double value);

/* function returning the Cube of a numnber */
double Cube(double value);

/* function returning the quotient of a number */
double Shrink(double value);


int main (void )
{
    /* variable definition: */

    float numer_input,results;
    int menuSelect;
    //floatshrink; (no idea what this is)

    numer_input = 1; //you could use a do while statement to avoid this 
    // While a positive number
    while ( numer_input> 0)
    {    
        printf ("Enter a positive Integer\n: ");
        scanf("%f", &numer_input);


        printf ("Enter 1 to calculate Square, 2 to Calculate Cube, or 3 to divide  input by 2, to end program enter a negative integer.\n: ");
        scanf("%d", &menuSelect);
        if (menuSelect == 1)
        {
        // Call the Square Function
            results = Square(numer_input);
            printf("Square of %f is %f\n",numer_input, results);
        }
        else if (menuSelect == 2)
        {
        // Call the Cube function
            results = Cube(numer_input);
            printf("Cube of %f is %f\n",numer_input, results);
        }
        else if (menuSelect == 3)
        {
        // Call the Divisor function
            results = Shrink (numer_input);
            printf("The quotient of %f is %f\n", numer_input, results);
        }
        else 
            printf("Invalid menu item, only 1, 2 or 3 is accepted\n");

    }   

    return 0;
}

/* function returning the Square of a number */
double Square(double value){
    return value*value;
}

/* function returning the Cube of a numnber */
double Cube(double value){
    return value*value*value;
}

/* function returning the quotient of a number */
double Shrink(double value){
    return (double)value/2;
}

最后,我建议使用switch语句,因为与if和else if相比,该代码看起来更加清晰,但这只是一个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用除法运算符时如何获得正确答案

来自分类Dev

我的网站难以获得SSL认证

来自分类Dev

难以获得大笔股票收益的代码

来自分类Dev

Solr难以获得具有多个术语的模糊搜索

来自分类Dev

password.js难以获得哈希密码

来自分类Dev

功能难以获得所需的输出文件类型

来自分类Dev

使用 awk 时由于除法而获得更多小数位

来自分类Dev

难以获得测试集中测试用例的完整列表

来自分类Dev

难以获得测试集中测试用例的完整列表

来自分类Dev

难以获得游标数据并将其存储在字符串中

来自分类Dev

难以获得Realtime RecyclerView FirebaseUI android显示来自数据库的消息

来自分类Dev

碎片错误的活动,难以获得共享首选项的价值

来自分类Dev

除法答案执行不正确

来自分类Dev

除法不输出正确答案C ++

来自分类Dev

Z3整数除法未显示正确答案

来自分类Dev

从数据集中将答案随机分配给按钮文本属性时,如何获得测验的正确答案

来自分类Dev

在Bash中进行除法是否可以获得小数输出?

来自分类Dev

C ++无法获得中值的正确答案

来自分类Dev

无法从MySQL LIKE函数获得正确答案

来自分类Dev

在Python中使用整数除法时,能否保持小数精度?

来自分类Dev

在Python中使用整数除法时,能否保持小数精度?

来自分类Dev

浮点数除法时不返回小数

来自分类Dev

当有人选择错误的答案时显示正确的答案

来自分类Dev

用Java作长变量返回小数答案

来自分类常见问题

在目录上使用lstat()并获得不正确的答案

来自分类Dev

在目录上使用lstat()并获得不正确的答案

来自分类Dev

无法使用C ++ STL映射获得正确的答案

来自分类Dev

欧拉8号项目,似乎无法获得正确答案

来自分类Dev

我获得子集的递归无法打印出正确的答案

Related 相关文章

  1. 1

    使用除法运算符时如何获得正确答案

  2. 2

    我的网站难以获得SSL认证

  3. 3

    难以获得大笔股票收益的代码

  4. 4

    Solr难以获得具有多个术语的模糊搜索

  5. 5

    password.js难以获得哈希密码

  6. 6

    功能难以获得所需的输出文件类型

  7. 7

    使用 awk 时由于除法而获得更多小数位

  8. 8

    难以获得测试集中测试用例的完整列表

  9. 9

    难以获得测试集中测试用例的完整列表

  10. 10

    难以获得游标数据并将其存储在字符串中

  11. 11

    难以获得Realtime RecyclerView FirebaseUI android显示来自数据库的消息

  12. 12

    碎片错误的活动,难以获得共享首选项的价值

  13. 13

    除法答案执行不正确

  14. 14

    除法不输出正确答案C ++

  15. 15

    Z3整数除法未显示正确答案

  16. 16

    从数据集中将答案随机分配给按钮文本属性时,如何获得测验的正确答案

  17. 17

    在Bash中进行除法是否可以获得小数输出?

  18. 18

    C ++无法获得中值的正确答案

  19. 19

    无法从MySQL LIKE函数获得正确答案

  20. 20

    在Python中使用整数除法时,能否保持小数精度?

  21. 21

    在Python中使用整数除法时,能否保持小数精度?

  22. 22

    浮点数除法时不返回小数

  23. 23

    当有人选择错误的答案时显示正确的答案

  24. 24

    用Java作长变量返回小数答案

  25. 25

    在目录上使用lstat()并获得不正确的答案

  26. 26

    在目录上使用lstat()并获得不正确的答案

  27. 27

    无法使用C ++ STL映射获得正确的答案

  28. 28

    欧拉8号项目,似乎无法获得正确答案

  29. 29

    我获得子集的递归无法打印出正确的答案

热门标签

归档