gpt4 book ai didi

c++ - 快速扫描 double 的方法 - C++

转载 作者:行者123 更新时间:2023-11-28 07:48:30 25 4
gpt4 key购买 nike

<分区>

我正在尝试优化我的问题解决方案,该问题需要快速双扫描。我试图实现一个从标准输入读取 double 值的函数,但我失败了。有人能指出一些有效实现这一点的简单代码吗?提前致谢。

注意这里是我的尝试,好像有一些问题:

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

inline double getDouble(FILE *f = stdin) {
char tmp[20], ch;
bool seen = false;
double sign = 1.0;
short index = 0;

while((ch = getc(stdin)) != EOF) {
if(ch == '-') {
sign = -1.0;
continue;
}
if(ch == ' ' || ch == '\n') {
if(seen) break;
} else {
seen = true;
tmp[index++] = ch;
}
}
return sign * (double)atof(tmp);
}

int main() {
int n;
scanf("%d", &n);

double *d = new double[n];

for(int i=0; i<n; ++i) {
d[i] = getDouble();
}

for(int i=0; i<n; ++i) {
printf("%.5lf\n", d[i]);
}

return 0;
}

输入:

16
-2 -1 -4 -5
1 1 1 1
1.233 -435 -2.44
3
2 3 42 4

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com