加了setiosflags(ios::fixed)<<setprecision<<(6),输出为啥变了?

有没有大佬知道,加了小数位置控制,为啥反而输出不一样了?想不明白?

cout<<fixed<<3.20<<endl;
cout<<setiosflags(ios::fixed)<<setprecision<<(6)<<3.20<<endl;

图片说明
为啥会这样呢?我用的vs2010,,,,,,,

c++

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ios::fixed让他输出一个整数pi=3.14结果他显示pi=0x1.9249p+1这事什么意思啊?
double pi = 22.0 / 7.0; //计算pi值 cout << setiosflags(ios::scientific) << setprecision(8);//按指数形式输出,位小数 cout << "pi=" << pi << endl; //输出pi值 cout << "pi=" << setprecision(4) << pi << endl;//改为位小数 cout << "pi=" << setiosflags(ios::fixed) << pi << endl;//改为小数形式输出 cout << resetiosflags(ios::fixed); //取消按点输出显示 cout << resetiosflags(ios::scientific); //取消按点输出显示 cout << "pi=" << pi << endl;//改为小数形式输出 return 0; 看不懂哇。
编译器提示 ios sflags 未声明,可是我已经写过 #include <iomanip>了 .书上没找到原因.
#include <iomanip> ``` ``` cout<<setiosflags(ios::fixed) << setprecision(2 ) << C1 <<endl << Sa <<endl << Sb << Va <<endl << Vb <<endl ;
输出的文件没有覆盖问题
ofstream fllh("lh.txt", ios::app); if (!fllh) { cout<<"failed to open data file."<<endl; exit (0); } else { fllh<<setiosflags(ios::fixed)<<setprecision(7)<<L<<endl; } fllh.close(); 写了一个输出文件的代码,因为是放在了循环中,用的是app追加的方式,每次算完之后就会直接输出计算出来的比如1000行的数据,但是如果修改了代码内容,再运行的时候输出的新的1000行的内容会接着之前的文件后面输出,变成了2000行,除非得先删了之前输出的文件,不能直接覆盖,每次都删太麻烦了,修改了几次,用了ios::trunc之后,最后因为算出来一行覆盖一次,只能输出一行了,要么就直接输得很乱,求助大神!
C++输出文件数据格式遇到的对齐问题
C++输出txt数据,里面的格式调整不好,使用了 ftest<<setiosflags(ios::fixed)<<setprecision(7)<<am<<endl;但是在中间的时候除了点问题 3.1348292 -0.2170778 99.9333757 3.1356595 -0.2191556 99.9996267 空格 3.1362225 -0.2208898 100.0660170 空格 3.1369420 -0.2221694 100.1322952 后两行开始前面有空格 ,然后都往后挪了一位,格式错位了,求助大神!
新手求助,为什么第一个输出-1#IND000 第二个输出1.212798074
#include<iostream.h> #include<math.h> #include<iomanip.h> int main() { double x1,x2=3.14159/4; do { x1=x2; x2=x1-(cos(x1)-x1)/(sin(x1)-1); } while(fabs(x2-x1)>1e-6&&(sin(x1)-1)!=0); cout<<"f(x)=0的解为:"<<setiosflags(ios::fixed)<<setprecision(10)<<x2<<endl; return 0; } #include <iostream.h> #include <iomanip.h> #include <math.h> int main() { double a,b; a=3.14159 / 4; b=a-(cos(a)-a)/(sin(a)-1); while (fabs(a-b)>1e-6) { a=b-(cos(b)-b)/(sin(b)-1); b=a; } cout << "方程的解为" <<setiosflags(ios::fixed)<<setprecision(10)<< b << endl; return 0; }
为什么编码是显示小数保留三位,而结果确实两位?
#include <iostream> #include <iomanip> using namespace std; int main() { double a = 123.45665 , b = 3.1456 , c = -3214.67 ; cout << setiosflags(ios::fixed) << setprecision(3) ; cout << setw(10) << a << '\n' << setw(10) << b << '\n' << setw(10) << c << '\n' ; return 0; } ```运行结果如下: 123.46 3.14 -3214.67 ```
为什么编码是显示小数保留三位,而结果确实两位? 此前这个文件设计时输出小数点后两位 , 修改成下图样式 ,运行结果没变 !
#include <iostream> #include <iomanip> using namespace std; int main() { double a = 123.45665 , b = 3.1456 , c = -3214.67 ; cout << setiosflags(ios::fixed) << setprecision(3) ; cout << setw(10) << a << '\n' << setw(10) << b << '\n' << setw(10) << c << '\n' ; return 0; } ``` ``` 运行结果为 123.46 3.14 -3214.67
没有合适的默认构造函数可用
class Employee { public: Employee(const long n,const char *N){}; virtual~Employee(){}; const char* getName(long n) const{}; const long getNumber() const{}; virtual double eamings() const=0; virtual void print() const{cout<<"编号:"<<number<<"姓名"<<*name<<endl;}; protected: long number; char *name; }; class Manager: public Employee { public: Manager(const long n,const char *N,double u=0.0) 就这个括号后面有错。。。没有合适的默认构造函数可用{number=n,*name=*N,u=0;}; ~Manager(){} void setMonthlySalary(double n){number=n;}; virtual double eamings() const{return 0;}; virtual void print() const{cout<<"编号:"<<number<<"姓名"<<*name<<"月薪"<<monthlySalary<<endl;}; private: double monthlySalary; }; int main() { cout<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(2) ; Manager m1(10135,"Cheng ShaoHua", 1200) ; Manager m2(10201,"Yan HaiFeng"); m2.setMonthlySalary ( 5300) ;
这个继承构造函数怎么写
Employee(const long n,const char *N){number=n,*name=*N;}; virtual~Employee(){}; const char* getName(long n) const{}; const long getNumber() const{}; virtual double eamings() const=0; virtual void print() const{cout<<"编号:"<<number<<"姓名"<<*name<<endl;}; protected: long number; char *name; }; class Manager: public Employee { public: Manager(const long n,const char *N,double u=0.0):Employee(n,*N){}错误的这里说没有匹配构造函数实例子 ~Manager(){}; void setMonthlySalary(double n){number=n;}; virtual double eamings() const{return 0;}; virtual void print() const{cout<<"编号:"<<number<<"姓名"<<*name<<"月薪"<<monthlySalary<<endl;}; private: double monthlySalary; };int main() { cout<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(2) ; Manager m1(10135,"Cheng ShaoHua", 1200.0) ; Manager m2(10201,"Yan HaiFeng"); m2.setMonthlySalary ( 5300.0) ;
PAT甲级 Finding Average (20 分) 测试点3怎么过?
请各位帮我看看什么问题 或者我没有考虑的情况 别贴网址啊 都能搜到的就不来问了 至少可以指出下我的代码中没有考虑到的输入案例 ![图片说明](https://img-ask.csdn.net/upload/201907/02/1562078909_672755.png) ``` #include <iostream> #include <string> #include <vector> #include <iomanip> #include <sstream> bool is_legal(std::string &str) { if (str.front() != '-'&& !(isdigit(str.front()))) return false; int i = str.find('.'); if (i < (int)str.size() - 3 && i != -1) return false; std::stringstream ss(str); std::string temp; double n; ss >> n >> temp; if (temp.size() > 0 || (n < -1000 || 1000 < n)) return false; return true; } int main() { size_t n; std::cin >> n; std::vector<std::string> vec(n); std::vector<double> output; for (size_t i{ 0 }; i < n; ++i) { std::cin >> vec[i]; } for (size_t i{ 0 }; i < n; ++i) { if (is_legal(vec[i])) { std::stringstream ss(vec[i]); double temp; ss >> temp; output.push_back(temp); } else { std::cout << "ERROR: " << vec[i] << " is not a legal number" << '\n'; } } std::cout << "The average of " << output.size() << " numbers is "; if (output.size() == 0) std::cout << "Undefined"; else { double sum{ 0 }; for (size_t i{ 0 }; i < output.size(); ++i) { sum += output[i]; } std::cout << std::setiosflags(std::ios::fixed) << std::setprecision(2) << sum / (double)output.size(); } return 0; } ```
这个没错误。怎么什么也运行不出来??
// shiyan66.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include"iomanip" #include"iostream" using namespace std; class Employee { public: Employee(const long n,const char* N){number=n,*name=*N;}; virtual~Employee(){}; const char* getName(long n) const{}; const long getNumber() const{}; virtual double eamings() const=0; virtual void print() const{cout<<"编号:"<<number<<"姓名"<<*name<<endl;}; protected: long number; char *name; }; class Manager: public Employee { public: Manager(const long n,const char* N,double u ):Employee(n, N){monthlySalary=u;} ~Manager(){}; void setMonthlySalary(long n){number=n;}; virtual double eamings() const{return 0;}; virtual void print() const{cout<<"编号:"<<number<<"姓名"<<*name<<"月薪"<<monthlySalary<<endl;}; private: double monthlySalary; }; class HourlyWorker: public Employee { public: HourlyWorker(const long n,const char* N,double=0.0, int=0):Employee(n, N){number=n,*name=*N;}; ~HourlyWorker(){} void setWage(double h){hours=h;}; void setHours(int w){wage=w;}; virtual double eamings() const{return hours*wage; }; virtual void print() const{cout<<"编号:"<<number<<"姓名"<<*name<<"月薪"<<hours*wage<<endl;}; private: double wage; double hours; }; class PieceWorker: public Employee { public: PieceWorker(const long n,const char* N,double=0.0, int=0):Employee(n, N){number=n,*name=*N;}; ~PieceWorker(){} void setWage(double w){wagePerPiece=w;}; void setQuantity(int q){quantity=q;}; virtual double eamings() const{return wagePerPiece*quantity;}; virtual void print() const{cout<<"编号:"<<number<<"姓名"<<*name<<"月薪"<<wagePerPiece*quantity<<endl;}; private: double wagePerPiece; int quantity; }; int main() { cout<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(2) ; Manager m1(10135,"Cheng ShaoHua", 1200) ; Manager m2(10201,"Yan HaiFeng",1000); m2.setMonthlySalary ( 5300) ; HourlyWorker hw1(30712,"Zhao XiaoMing",5,8*20) ; HourlyWorker hw2(30649,"Gao DongSheng" ,6,98*8) ; hw2.setWage(4.5) ; hw2.setHours(10*30) ; PieceWorker pw1(20382,"Xiu LiWei",0.5,2850) ; PieceWorker pw2(20496,"Huang DongLin" ,1,23*10) ; pw2.setWage(0.75); pw2.setQuantity (1850); Employee*basePtr; basePtr=&m1 ; basePtr=&m2; basePtr=&hw1 ; basePtr=&hw2 ; basePtr=&pw1 ; basePtr=&pw2 ; basePtr->print(); basePtr->print(); basePtr->print(); basePtr->print(); basePtr->print(); basePtr->print(); return 0; }
利用四阶龙格库塔法求解一阶微分组的c++程序
#include <iostream> #include <iomanip> using namespace std; void RK4( double (*f)(double t,double x, double y),double (*g)(double t,double x, double y) ,double initial[3], double resu[3],double h) { double f1,f2,f3,f4,g1,g2,g3,g4,t0,x0,y0,x1,y1; t0=initial[0];x0=initial[1];y0=initial[2]; f1=f(t0,x0,y0); f2=f(t0+h/2, x0+h*f1/2,y0+h*g1/2); f3=f(t0+h/2, x0+h*f2/2,y0+h*g2/2); f4=f(t0+h, x0+h*f3,y0+h*g3); g1=g(t0,x0,y0); g2=g(t0+h/2,x0+h*f1/2,y0+h*g1/2); g3=g(t0+h/2,x0+h*f2/2,y0+h*g2/2); g4=g(t0+h, x0+h*f3,y0+h*g3); x1=x0+h*(f1+2*f2+2*f3+f4)/6; y1=y0+h*(g1+2*g2+2*g3+g4)/6; resu[0]=t0+h;resu[1]=x1;resu[2]=y1; } int main() { double f(double t,double x, double y); double g(double t,double x, double y); double initial[3],resu[3]; double a,b,H; double t,step; int i; cout<<"输入所求微分方程组的初值t0,x0,y0:"; cin>>initial[0]>>initial[1]>>initial[2]; cout<<"输入所求微分方程组的微分区间[a,b]:"; cin>>a>>b; cout<<"输入所求微分方程组所分解子区间的个数step:"; cin>>step; //cout<<setiosflags(ios::right)<<setiosflags(ios::fixed)<<setprecision(10); H=(b-a)/step; cout<< initial[0]<<setw(18)<<initial[1]<<setw(18)<<initial[2]<<endl; for(i=0;i<step;i++) { RK4( f,g ,initial, resu,H); cout<<resu[0]<<setw(20)<<resu[1]<<setw(20)<<resu[2]<<endl; initial[0]=resu[0];initial[1]=resu[1];initial[2]=resu[2]; } return(0); } double f(double t,double x, double y) { double dx; dx=x*(300-x/10)*(1-x/300-y*20/300); return(dx); } double g(double t,double x, double y) { double dy; dy=y*(300-y/10)*(1-y/300-x*1/20/300); return(dy); } 这是利用四阶龙格库塔法求解一阶微分组的c++程序,但是当我将t0,x0,y0分别设置为0 ,50 ,50,t范围取[0 1000],求解次数为1000次时为啥求解不出来??? 求教各位了,十分着急!希望懂得人为小弟解惑
c++中qsort函数自定义比较函数的问题(杭电1009)
#include<iostream> #include<iomanip> #include<stdlib.h> #include<stdio.h> #include<algorithm> using namespace std; struct room { double amount,l; int number; }; int comp(const void *x,const void *y); int main() { int n,m,k; double sum; while(cin>>n>>m) { sum=0; if(n==-1&&m==-1) break; room *a=new room [m]; for(k=0;k<m;k++) { cin>>a[k].amount>>a[k].number; a[k].l=a[k].amount/a[k].number; } qsort(a,m,sizeof(a[0]),comp); for(k=0;k<m;k++) { if(n>a[k].number) { sum+=a[k].amount; n-=a[k].number; } else { sum+=double(n)/a[k].number*a[k].amount; break; } } // for(k=0;k<m;k++) // cout<<a[k].amount<<" "<<a[k].number<<" "<<a[k].l<<endl; cout<<setiosflags(ios::fixed)<<setprecision(3)<<sum<<endl; delete [] a; } return 0; } int comp(const void *x,const void *y) { return (*(room *)y).l>(*(room *)x).l?1:-1; } 以上代码中qsort的比较函数如果写成上述代码形式可以过杭电1009 而如果写成 int comp(const void *x,const void *y) { return (*(room *)y).l-(*(room *)x).l; } 则过不了,请问大神们这两种写法有什么区别啊? int comp(const void *x,const void *y) { return (*(room *)y).l>(*(room *)x).l?1:-1; } 和 int comp(const void *x,const void *y) { return (*(room *)y).l-(*(room *)x).l; } 题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1009
C++ 弦截法 有些疑问求解答
弦截法中,函数各种嵌套调用,例题中所给的一元三次方程是给定的,系数定好的,那么假如我希望一元三次方程的系数是由自己输入的,但调用的函数不是不能存的么,写在主函数里,那后面的 f 函数好像也用不到了,假如 f 函数再调用一个“定系数的函数”,总不能每次计算都输入一次吧。。。 ``` #include <iostream> #include <iomanip> #include <cmath> using namespace std; double f(double); double xpoint(double,double); double root(double,double); int main(){ double x1,x2,f1,f2,x; do{ cout<<"input x1,x2:"; cin>>x1>>x2; f1=f(x1); f2=f(x2); }while(f1*f2>=0); x=root(x1,x2); cout<<setiosflags(ios::fixed)<<setprecision(7); cout<<"A root of equation is"<<x<<endl; return 0; } double f(double x){ //这里能输入么,或者再调用一个函数。 double y; y=x*x*x-5*x*x+16*x-80; return y; } double xpoint(double x1,double x2){ double y; y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); return y; } double root(double x1,double x2){ double x,y,y1; y1=f(x1); do{ x=xpoint(x1,x2); y=f(x); if(y*y1>0){ y1=y; x1=x; } else x2=x; }while(fabs(y)>=0.0000001); return x; } ```
利用以下程序求一阶微分方程组为啥借不出来啊
#include<iostream> #include<iomanip> using namespace std; void RK4( double(*f)( double t, double x, double y ), double(*g)( double t, double x, double y),long double initial[3], long double resu[3], double h) { long double f1,f2,f3,f4,g1,g2,g3,g4,t0,x0,y0,x1,y1; t0=initial[0];x0=initial[1];y0=initial[2]; f1=f(t0,x0,y0); f2=f(t0+h/2, x0+h*f1/2,y0+h*g1/2); f3=f(t0+h/2, x0+h*f2/2,y0+h*g2/2); f4=f(t0+h, x0+h*f3,y0+h*g3); x1=x0+h*(f1+2*f2+2*f3+f4)/6; g1=g(t0,x0,y0); g2=g(t0+h/2,x0+h*f1/2,y0+h*g1/2); g3=g(t0+h/2,x0+h*f2/2,y0+h*g2/2); g4=g(t0+h, x0+h*f3,y0+h*g3); y1=y0+h*(g1+2*g2+2*g3+g4)/6; resu[0]=t0+h;resu[1]=x1;resu[2]=y1; } int main() { double f(double t,double x, double y); double g(double t,double x, double y); long double initial[3],resu[3]; double a,b,H; double t,step; int i; cout<<"输入所求微分方程组的初值t0,x0,y0:"; cin>>initial[0]>>initial[1]>>initial[2]; cout<<"输入所求微分方程组的微分区间[a,b]:"; cin>>a>>b; cout<<"输入所求微分方程组所分解子区间的个数step:"; cin>>step; // cout<<setiosflags(ios::right)<<setiosflags(ios::fixed)<<setprecision(10); H=(b-a)/step; cout<< initial[0]<<setw(18)<<initial[1]<<setw(18)<<initial[2]<<endl; for(i=0;i<step;i++) { RK4(f,g,initial, resu,H); cout<<resu[0]<<setw(20)<<resu[1]<<setw(20)<<resu[2]<<endl; initial[0]=resu[0];initial[1]=resu[1];initial[2]=resu[2]; } return(0); } double f(double t,double x, double y) { double dx; dx=(500-x/10)*(1-x/500-y/500)*x; return(dx); } double g(double t,double x, double y) { double dy; dy=(500-y/10)*(1-y/500-x/500)*y; return(dy); }
PAT乙级1012. 数字分类问题总是部分正确怎么办啊?
结果显示有9个测试点,前8个“答案正确”,最后一个“答案错误”,不知道是怎么回事? 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和; A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...; A3 = 被5除后余2的数字的个数; A4 = 被5除后余3的数字的平均数,精确到小数点后1位; A5 = 被5除后余4的数字中最大数字。 输入格式: 每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的待分类的正整数。数字间以空格分隔。 输出格式: 对给定的N个正整数,按题目要求计算A1~A5并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。 若其中某一类数字不存在,则在相应位置输出“N”。 输入样例1: 13 1 2 3 4 5 6 7 8 9 10 20 16 18 输出样例1: 30 11 2 9.7 9 输入样例2: 8 1 2 4 5 6 7 9 16 输出样例2: N 11 2 N 9 cpp ``` #include<iostream> #include<iomanip> using namespace std; int main() { int i, n; cin>>n; int a[n]; for(i=0; i<n; i++) cin>>a[i]; int b[5], num_b1=0, num_b3=0; for(i=0; i<5; i++) b[i]=0; for (i=0; i<n; i++) { if(a[i]%5==0 && a[i]%2==0) b[0]+=a[i]; if(a[i]%5==1) { num_b1++; if (num_b1%2==0) b[1]-=a[i]; if (num_b1%2!=0) b[1]+=a[i]; } if(a[i]%5==2) b[2]++; if(a[i]%5==3) { b[3]+=a[i]; num_b3++; } if( a[i]%5==4 && a[i]>b[4]) b[4]=a[i]; } for(i=0; i<=2; i++) { if(b[i]!=0) cout <<b[i]<<" "; if(b[i]==0) cout<<"N"<<" "; } if(b[3]!=0) { cout<<setiosflags(ios::fixed)<<setprecision(1)<<b[3]*1.0/num_b3<<" "; } if(b[3]==0) cout<<"N"<<" "; if(b[4]!=0) cout<<b[4]; if(b[4]==0) cout<<"N"; return 0; } ```
C++如何转C语言,跪求帮忙转一下,在线等答案
各位学长,能不能帮小妹做个作业啊,把C++转换为C语言 //附合水准路线解算.cpp #include <iostream> #include <iomanip> #include <cstdlib> #include <fstream> using namespace std; void Data_Calculate();//数据解算 void Data_Show();//结果打印到屏幕 void Data_Output();//结果输出到TXT int v[4], i=0; double h[4], L[4], h_v[4], H[5], f_h; double sum_h, sum_L, sum_v, sum_Pvv; void Data_Calculate() { H[1] = 47.231; H[4] = 41.918; h[1] = 7.231; h[2] = -4.326; h[3] = -8.251; L[1] = 4.5; L[2] = 7.2; L[3] = 7.0; sum_h = 0; sum_v = 0; sum_L = L[1] + L[2] + L[3]; for ( i = 1; i < 4; i++ ) sum_h += h[i]; f_h = (sum_h + H[1] - H[4]) * 1000; for ( i = 1; i < 4; i++ ) v[i] = int((-f_h * L[i] / sum_L)+0.5);//计算高差改正数v for ( i = 1; i < 4; i++ ) sum_v += v[i];//高差改正数求和 for ( i = 1; i < 4; i++ ) h_v[i] = 0.001 * v[i] + h[i];//改正后高差 for ( i = 2; i < 4; i++ ) H[i] = (H[i-1] + h_v[i-1]);//计算最或然高程 } void Data_Show() { cout << setiosflags(ios::fixed); cout << "______________________________________________________________" << endl; cout << "点号" << setw(8) << "距离/km" << setw(12) << "观测高差/m" << setw(15) << "高差改正数/mm" << setw(14) << "改正后高差/m" << setw(8) << "高程/m" << endl; cout << "______________________________________________________________" << endl; cout << setw(2) << "A" << setw(59) << setprecision(3) << H[1] << endl ; cout << setw(9) << setprecision(1) << L[1] << setw(12) << setprecision(3) << h[1] << setw(11) << v[1] << setw(17) << h_v[1] << endl; cout << setw(2) << "1" << setw(59) << setprecision(3) << H[2] << endl; cout << setw(9) << setprecision(1) << L[2] << setw(12) << setprecision(3) << h[2] << setw(11) << v[2] << setw(17) << h_v[2] << endl; cout << setw(2) << "2" << setw(59) << setprecision(3) << H[3] << endl; cout << setw(9) << setprecision(1) << L[3] << setw(12) << setprecision(3) << h[3] << setw(11) << v[3] << setw(17) << h_v[3] << endl; cout << setw(2) << "B" << setw(59) << setprecision(3) << H[4] << endl; cout << "______________________________________________________________" << endl; cout << endl; } void Data_Output() { ofstream in; in.open("data.txt",ios::trunc); in << setw(40) << "附合水准路线解算表" << endl ; in << "______________________________________________________________" << endl; in << setiosflags(ios::fixed); in << "点号" << setw(8) << "距离/km" << setw(12) << "观测高差/m" << setw(15) << "高差改正数/mm" << setw(14) << "改正后高差/m" << setw(8) << "高程/m" << endl; in << "______________________________________________________________" << endl; in << setw(2) << "A" << setw(59) << setprecision(3) << H[1] << endl ; in << setw(11) << L[1] << setw(10) << h[1] << setw(11) << v[1] << setw(17) << h_v[1] << endl; in << setw(2) << "1" << setw(59) << setprecision(3) << H[2] << endl; in << setw(11) << L[2] << setw(10) << h[2] << setw(11) << v[2] << setw(17) << h_v[2] << endl; in << setw(2) << "2" << setw(59) << setprecision(3) << H[3] << endl; in << setw(11) << L[3] << setw(10) << h[3] << setw(11) << v[3] << setw(17) << h_v[3] << endl; in << setw(2) << "B" << setw(59) << setprecision(3) << H[4] << endl; in << "______________________________________________________________" << endl; in.close(); } int main() { cout << endl << setw(40) << "附合水准路线解算表" << endl; Data_Calculate(); Data_Show(); Data_Output(); cout << "结果输出到根目录data.txt中" << endl << endl; system("pause"); return 0; }
hduoj 简单计算机 麻烦大佬们帮忙看看哪里错了
麻烦哪位大佬帮忙看看哪里错了,谢谢各位 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。 Output 对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。 Sample Input 1 + 2 4 + 2 * 5 - 7 / 11 0 Sample Output 3.00 13.36 ```#include <bits/stdc++.h> using namespace std; int si(string a)//字符串转为整数 { int s=0; for(int i=0;i<a.size();i++) { s=s*10+(a[i]-'0'); } return s; } int main() { string str,s;vector<double> v; while(getline(cin,str))//获取一行字符 { v.clear();//重置向量v if((str.size()==1)&&(str[0]='0')) break;//判断是否结束 for(int i=0;i<str.size();i++)//把读入的字符串存入向量中 { if(str[i]==' ') { if(s!="+"&&s!="-"&&s!="*"&&s!="/") v.push_back(si(s)); else { if(s=="+") v.push_back(-1); if(s=="-") v.push_back(-2); if(s=="*") v.push_back(-3); if(s=="/") v.push_back(-4); } s.clear(); continue; } s+=str[i]; } v.push_back(si(s)); s.clear(); vector<double>::iterator it;//定义迭代器 for(int i=0;i<v.size();i++)//先计算乘除 { if(v[i]==-3) { v[i-1]=v[i-1]*v[i+1]; it=v.begin()+i; v.erase(it,it+2);//两个数一个符号计算后保留结果,删去其他两位 i=0; } if(v[i]==-4) { v[i-1]=v[i-1]/v[i+1]; it=v.begin()+i; v.erase(it,it+2); i=0; } } for(int i=0;i<v.size();i++)//计算加减 { if(v[i]==-1) { v[i-1]=v[i-1]+v[i+1]; it=v.begin()+i; v.erase(it,it+2); i=0; } if(v[i]==-2) { v[i-1]=v[i-1]-v[i+1]; it=v.begin()+i; v.erase(it,it+2); i=0; } }//输出结果,此时v里面只剩下结果 cout<<setprecision(2)<<setiosflags(ios::fixed)<<v[0]<<endl; } } ```
谁能帮我看看 这个代码问题出在哪?( linux c++ makefile)复数四则运算
## **methode.h** /* Klassendefinition*/ using namespace std; class COMPLEX { public: COMPLEX(void){}; COMPLEX(float,float,int); void ein(); void aus(int); friend float RE(COMPLEX); friend float IM(COMPLEX); friend float ABS(COMPLEX); friend float ANGLE(COMPLEX); friend COMPLEX operator+(COMPLEX, COMPLEX); friend COMPLEX operator-(COMPLEX, COMPLEX); friend COMPLEX operator*(COMPLEX, COMPLEX); friend COMPLEX operator/(COMPLEX, COMPLEX); private: float Re, Im, Abs, Angle;//Datenelemente void Umrechnung (float,float,int); }; void Ausgabe(COMPLEX Z1, COMPLEX Z2); ## ****methode.cpp #include "methode.h" #include <iostream> #include <iomanip> #include <cstdlib> #include <cmath> using namespace std; COMPLEX::COMPLEX(float a, float b, int c) { if(c==0) {Re=a; Im=b; Umrechnung(a,b,0);//(Re, Im)-> (Abs, Angle) } else if(c==1) {Abs=a; Angle=b; Umrechnung(a,b,1);//(Abs,Angle)-> (Re, Im) } } float RE(COMPLEX a){return a.Re;} float IM(COMPLEX a){return a.Im;} float ABS(COMPLEX a){return a.Abs;} float ANGLE(COMPLEX a){return a.Angle;} COMPLEX operator+ (COMPLEX Z1, COMPLEX Z2) {return COMPLEX(Z1.Re+Z2.Re,Z1.Im+Z2.Im,0);} COMPLEX operator- (COMPLEX Z1, COMPLEX Z2) {return COMPLEX(Z1.Re-Z2.Re,Z1.Im-Z2.Im,0);} COMPLEX operator* (COMPLEX Z1, COMPLEX Z2) {return COMPLEX(Z1.Re*Z2.Re-Z1.Im*Z2.Im, Z1.Re*Z2.Im+Z1.Im*Z2.Re,0);} COMPLEX operator/ (COMPLEX Z1, COMPLEX Z2) { float l; COMPLEX Z3; l= Z2.Re*Z2.Re+Z2.Im*Z2.Im; if(l==0.0) { cout<<"\nDivision durch Null!"; Z3.Re=Z3.Im=0.0; } else { Z3.Re=(Z1.Re*Z2.Re+Z1.Im*Z2.Im)/l; Z3.Im=(Z2.Re*Z1.Im-Z1.Re*Z2.Im)/l; } Z3.Umrechnung(Z3.Re, Z3.Im, 0); return Z3; } void COMPLEX::ein() { char menu; do {cout<<"\n[k]artesisch oder [P]olar?->"; cin>>menu; if(menu=='p'||menu=='P') { cout<<"\nBetrag ->"; cin>>Abs; cout<<"\nWinkel in Grad ->"; cin>>Angle; Umrechnung(Abs,Angle,1); } else if(menu=='k'||menu=='K') {cout<<"\nRealteil ->"; cin>>Re; cout<<"\nImaginaerteil ->"; cin>>Im; Umrechnung(Re,Im,0); } else cout<<"Falsche Eingabe!"; } while(menu!='p'&&menu!='k'); } //Umwandlung einer komplexer Zahl void COMPLEX::Umrechnung(float a, float b, int c) { if(c==1)//polar-->kartesisch { Re=a*cos(b/180.*M_PI); Im=a*sin(b/180.*M_PI); } else if(c==0)//kartesisch-->polar { Abs=sqrt(a*a+b*b); if(Re==0) Angle=90; else Angle=atan(b/a)*(180./M_PI); } else cout<<"Falscher Umrechen-Parameter!!\n"; } //Ausgabe void COMPLEX::aus(int i) { if(i==0) cout<<Re<<"+"<<Im<<"j"; else if(i==1) cout<<Abs<<"*Exp^("<<(Angle*M_PI/180.)<<")j"; else if(i==2) cout<<Abs<<"*[cos("<<Angle<<")+jsin("<<Angle<<")]"; else cout<<"Undefinierter Ausgabe-Parameter!!!"; } void Ausgabe(COMPLEX Z1,COMPLEX Z2) { COMPLEX Z3; cout<<setiosflags(ios::fixed) <<setiosflags(ios::showpoint) <<setprecision(2)<<endl; cout<<setw(6)<<"Z1"<<setw(3)<<":"<<endl; cout<<"Kartesisch"<<setw(7); Z1.aus(0);cout<<endl; cout<<"Polar exponentiell"<<setw(7); Z1.aus(1);cout<<endl; cout<<"Polar trigonometrisch"<<setw(7); Z1.aus(2);cout<<endl<<endl; cout<<setw(6)<<"Z2"<<setw(3)<<":"<<endl; cout<<"Kartesisch"<<setw(7); Z2.aus(0);cout<<endl; cout<<"Polar exponentiell"<<setw(7); Z2.aus(1);cout<<endl; cout<<"Polar trigonometrisch"<<setw(7); Z2.aus(2);cout<<endl<<endl; Z3=Z1+Z2; cout<<setw(6)<<"Z1+Z2"<<setw(3)<<":"<<endl; cout<<"Kartesisch"<<setw(7); Z3.aus(0);cout<<endl; cout<<"Polar exponentiell"<<setw(7); Z3.aus(1);cout<<endl; cout<<"Polar trigonometrisch"<<setw(7); Z3.aus(2);cout<<endl<<endl; Z3=Z1-Z2; cout<<setw(5)<<"Z1-Z2"<<setw(3)<<":"<<endl; cout<<"Kartesisch"<<setw(7); Z3.aus(0);cout<<endl; cout<<"Polar exponentiell"<<setw(7); Z3.aus(1);cout<<endl; cout<<"Polar trigonometrisch"<<setw(7); Z3.aus(2);cout<<endl<<endl; Z3=Z1*Z2; cout<<setw(5)<<"Z1*Z2"<<setw(3)<<":"<<endl; cout<<"Kartesisch"<<setw(7); Z3.aus(0);cout<<endl; cout<<"Polar exponentiell"<<setw(7); Z3.aus(1);cout<<endl; cout<<"Polar trigonometrisch"<<setw(7); Z3.aus(2);cout<<endl<<endl; Z3=Z1/Z2; cout<<setw(5)<<"Z1/Z2"<<setw(3)<<":"<<endl; cout<<"Kartesisch"<<setw(7); Z3.aus(0);cout<<endl; cout<<"Polar exponentiell"<<setw(7); Z3.aus(1);cout<<endl; cout<<"Polar trigonometrisch"<<setw(7); Z3.aus(2);cout<<endl; } ## **pruefung.cpp** #include "methode.h" #include <iostream> #include <cstdlib> using namespace std; int main(void) { COMPLEX Z1,Z2,Z3; char janein; do{ cout<<"\n1.Wert Z1\n"; cout<<"======="; Z1.ein(); cout<<"\n2.Wert Z2\n"; cout<<"======="; Z2.ein(); system("cls"); Ausgabe(Z1,Z2); cout<<"\nNochmal?[j/n]>"; cin>>janein; } while(toupper(janein)=='J'); return 0; } ## **makefile** pruefung:pruefung.o methode.o g++ -o pruefung pruefung.o methode.o pruefung.o:pruefung.cpp methode.h g++ -o pruefung pruefung.cpp methode.o:methode.cpp methode.h g++ -o methode methode.cpp clean: rm *.o pruefung
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
【JSON解析】浅谈JSONObject的使用
简介 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A Collection of name/va...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
立即提问