如何编写一个程序,使用scanf()读取2个浮点数,包括求和,差值,乘积,除法和平均值?

时间:2018-06-06 14:42:02

标签: c

我的C代码有问题。 我所做的就是:

#include <stdio.h>

int main()
{
    float zahlen[2];
    for (int i = 0; i < 2; i++) {
        printf("%d. Zahl", i + 1);
        scanf_s("%d", &zahlen[i]);
    }
    printf("Division: %f\n", zahlen[0]/zahlen[1]);
    printf("Produkt: %f\n", zahlen[0]*zahlen[1]);
    printf("Summe: %f\n", zahlen[0]+zahlen[1]);
    printf("Diffenrenz: %f\n", zahlen[0]-zahlen[1]);
    printf("Mittelwert: %f\n", (zahlen[0]+zahlen[1])/2);
    getchar();
    return 0;
}

非常感谢您的帮助。感谢。

2 个答案:

答案 0 :(得分:1)

您的scanf_s()函数正在尝试读取基数为10的整数并将其存储到float变量中。因此,当您尝试为第一个号码输入3.14时,scanf_s()将停在&#34;。&#34;字符(但将其保留在输入流中)。当您尝试读取第二个十进制整数时,它将进入一个无限循环,等待它可以消耗的字符。

简答:将%d中的scanf_s()更改为%f

答案 1 :(得分:0)

你处理花车

library(sp)
east_north <- SpatialPoints(dat,
                     proj4string=CRS("+init=epsg:27700"))

spTransform(east_north, CRS("+init=epsg:4326"))

使用 float zahlen[2]; 扫描整数:

"%d"

无论你指的是什么问题,都需要修复 为此,请阅读扫描仪功能的文档,然后阅读:

http://sekrit.de/webdocs/c/beginners-guide-away-from-scanf.html
How to read / parse input in C? The FAQ