标题:在没有包含cmath的情况下vc是怎么理解abs这个函数的?
只看楼主
icedge
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-5-13
 问题点数:0 回复次数:0 
在没有包含cmath的情况下vc是怎么理解abs这个函数的?
#include<iostream>
#include<fstream>
#include<sstream>
#include<vector>
#include<cmath> //如果删除这一行的话,程序可以编译运行,但是运行结果不对。
using namespace std;
typedef vector<vector<double> > mat;
double check();
mat input();
int main(){
mat a;
a=input();
double b=check();
cout.precision(3);
for(int i=0;i<a.size();i++){
if(abs(a[i][0]*a[i][1]-b)<1e-2)
cout<<fixed<<a[i][0]<<" "<<a[i][1]<<endl;
}
cout<<"b="<<b;
system("pause");
}
mat input(){
ifstream in("abc.txt");
mat a;
for(string s;getline(in,s);){
vector<double>b;
istringstream sin(s);
for(double m;sin>>m;)
b.push_back(m);
a.push_back(b);
}
return a;
}
double check(){
double m=1.0;
for(int i=1;i<=16;i++)
m=m*i;
return m;
}
程序运行结果是从abc.txt文件中的找出积等于16的阶乘的数对,但是如果删除标注的那行,程序也可以编译运行,却没有起到筛选的作用,直接把abc.txt里的数对都直接输出了,这里不是用“#inclue<cmath>“编译器是怎么理解abs这个函数的呢?
搜索更多相关主题的帖子: abs cmath 函数 
2007-06-18 22:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-148532-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014065 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved