【问题描述】定义一个结构体数组,存放3为职工的信息,并计算最高的工资值及所有职工工资的合计值。
【输入形式】输入结构体数组中各元素的成员
【输出形式】输出三个成员的在最高工资和工资合计值,成员包括name、id和salary。
【样例输入】the first person:
name:zhansan
ID:2001001
salary:14500.87
the second person:
name:lisi
ID:2001002
salary:24560.92
the third person:
name: wangwu
ID:2002001
salary:45600.00
【样例输出】the second person:
name:
ID:
salary:
the second person:
name:
ID:
salary:
the second person:
name:
ID:
salary:
the highest salary:45600.00.
the average salary:28220.60
//结构体数组 #include<iostream> #include<string> #include<iomanip> using namespace std; struct zhigong { string num; string name; int ID; double salary; }; //定义结构体数组 double max(double a,double b,double c) {double t; if(a>b){t=a;a=b;b=t; } if(a>c){t=a;a=c;c=t; } if(b>c){t=b;b=c;c=t; }//三个数排序完成 return c; } int main() { string name1,name2,name3; int ID1,ID2,ID3; double salary1,salary2,salary3; cin>>name1>>ID1>>salary1>>name2>>ID2>>salary2>>name3>>ID3>>salary3; struct zhigong arr[3]= { {"the first person:",name1,ID1,salary1}, {"the second person:",name2,ID2,salary2}, {"the third person:",name3,ID3,salary3} };//创建结构体数组并赋值 for(int i=0;i<3;i++) { cout<<arr[i].num<<endl; cout<<"name:"<<endl; cout<<"ID:"<<endl; cout<<"salary:"<<endl; }//遍历每一个数组 cout.setf(ios::fixed); cout<<"the highest salary:"<<setprecision(2)<<max(salary1,salary2,salary3)<<"."<<endl; cout<<"the average salary:"<<(arr[0].salary+arr[1].salary+arr[2].salary)/3<<"."<<endl; return 0; }