如何解决为什么尽管进行类型转换,但我仍无法打印32.0而不是32?
所以这是我的代码。输入是
5
10 40 30 50 20
1 2 3 4 5
我试图找到大小为n的数组的加权平均值,向量a在向量b中包含n个元素及其相应的权重。我不明白为什么要打印32而不是32.0?有人可以告诉我为什么以及如何更改它吗?
int main() {
int n;
cin>>n;
vector<int> a(n),b(n);
for(int i=0;i<n;i++){
cin>> a[i] ;
}
for(int i=0;i<n;i++){
cin>> b[i] ;
}
double s=0,w=0;
for(int i=0;i<n;i++){
s+=b[i]*a[i];
w+=b[i];
}
cout<<s/w*1.0;
return 0;
}
解决方法
是否打印32
或32.0
是输出格式的主题。默认情况下,如果可能,它将裁剪所有不必要的数字(以及小数点也包括在内)。 (*1.0
对此无济于事。)
相关功能在<iomanip>
中可用:
示例:
#include <iomanip>
#include <iostream>
int main()
{
std::cout
<< 32.0 << '\n'
<< std::fixed << std::setprecision(1) << 32.0 << '\n';
}
输出:
32
32.0
,
c ++ cout
默认会自动删除尾随零。
如果要查看它们,则必须使用std::cout << std::fixed;
查看here中的详细信息。
此外,如果要设置浮点数的精度,请使用std::cout.precision(N)
。
检查here以获得详细信息。
我将按以下方式更改您的代码。
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin>>n;
vector<int> a(n),b(n);
for(int i=0;i<n;i++){
cin>> a[i] ;
}
for(int i=0;i<n;i++){
cin>> b[i] ;
}
double s=0,w=0;
for(int i=0;i<n;i++){
s+=b[i]*a[i];
w+=b[i];
}
// MODIFIED
cout << fixed;
cout.precision(1);
// MODIFIED END
cout<<s/w*1.0;
return 0;
}
,
您要使用输出格式,可以使用pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused,Timeout: 30s,Topology Description: <TopologyDescription id: 5f6446c74ed2387c4f5117c6,topology_type: Single,servers:
[<ServerDescription('localhost',27017) server_type: Unknown,rtt: None,error=AutoReconnect('localhost:27017: [Errno 111] Connection refused')>]>
的{{1}}函数,如下所示:
from flask import Flask
from flask_mongoengine import MongoEngine
from config import Config
from flask_restplus import Api
app = Flask(__name__)
app.config.from_object(Config)
#app.logger.info('%s -- moNGO uRI',app,config['MONGO_URI'])
print('%s -- moNGO uRI',app.config['MONGO_URI'])
#app.config["MONGO_URI"] = 'mongodb://mongodatabase:27017/UTA_Enrollment'
db = MongoEngine()
db.init_app(app)
api = Api()
api.init_app(app)
from application.routes import app
from application.apis import api
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。