结构体---职工信息结构体
时间: 1ms 内存:128M
描述:
编写程序,定义一个存放职工信息的结构体类型,职工信息包括职工姓名、工作年限、工资总额。初始化5名职工的信息,对工作年限超过30年的职工每人加100元工资,要求分别输出工资变化之前和之后的所有职工的信息。
输入:
输入5个员工的职工姓名、工作年限、工资总额
输出:
输出两部分,第一部分输出工资变化之前所有职工的信息,第二部分输出工资变化之后的所有职工的信息
示例输入:
zhang1 5 1000
zhang2 10 2000
zhang3 20 3000
zhang4 40 4000
zhang5 50 5000
示例输出:
原始工资
姓名 年限 工资
zhang1 5 1000
zhang2 10 2000
zhang3 20 3000
zhang4 40 4000
zhang5 50 5000
加薪后工资
姓名 年限 工资
zhang1 5 1000
zhang2 10 2000
zhang3 20 3000
zhang4 40 4100
zhang5 50 5100
提示:
参考答案(内存最优[0]):
#include<iostream>
using namespace std;
struct employee
{
char name[20];
int age;
float money;
}employ[5];
int main()
{
int i;
for(i=0;i<5;i++)
{
cin>>employ[i].name>>employ[i].age>>employ[i].money;
}
cout<<"原始工资"<<endl;
cout<<"姓名"<<" "<<"年限"<<" "<<"工资"<<endl;
cout<<employ[0].name<<" "<<employ[0].age<<" "<<employ[0].money<<endl;
cout<<employ[1].name<<" "<<employ[1].age<<" "<<employ[1].money<<endl;
cout<<employ[2].name<<" "<<employ[2].age<<" "<<employ[2].money<<endl;
cout<<employ[3].name<<" "<<employ[3].age<<" "<<employ[3].money<<endl;
cout<<employ[4].name<<" "<<employ[4].age<<" "<<employ[4].money<<endl;
for(i=0;i<5;i++)
{
if(employ[i].age>30)
employ[i].money+=100;
}
cout<<"加薪后工资"<<endl;
cout<<"姓名"<<" "<<"年限"<<" "<<"工资"<<endl;
cout<<employ[0].name<<" "<<employ[0].age<<" "<<employ[0].money<<endl;
cout<<employ[1].name<<" "<<employ[1].age<<" "<<employ[1].money<<endl;
cout<<employ[2].name<<" "<<employ[2].age<<" "<<employ[2].money<<endl;
cout<<employ[3].name<<" "<<employ[3].age<<" "<<employ[3].money<<endl;
cout<<employ[4].name<<" "<<employ[4].age<<" "<<employ[4].money<<endl;
}
参考答案(时间最优[0]):
//编写程序,定义一个存放职工信息的结构体类型,职工信息包括职工姓名、工作年限、工资总额。初始化5名职工的信息,对工作年限超过30年的职工每人加100元工资,要求分别输出工资变化之前和之后的所有职工的信息。
#include<stdio.h>
struct worker
{
char name[20];
int year,sal;
}worker[5];
void main()
{
int i;
for(i=0;i<5;i++)
scanf("%s%d%d",worker[i].name,&worker[i].year,&worker[i].sal);
printf("原始工资\n%s %s %s","姓名","年限","工资");
for(i=0;i<5;i++)
printf("\n%s %d %d",worker[i].name,worker[i].year,worker[i].sal);
for(i=0;i<5;i++)
if(worker[i].year>30)
worker[i].sal=worker[i].sal+100;
printf("\n加薪后工资\n%s %s %s","姓名","年限","工资");
for(i=0;i<5;i++)
printf("\n%s %d %d",worker[i].name,worker[i].year,worker[i].sal);
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。