文档介绍:三、读程序,回答问题(3×10=30分)
#include<>
void main(void)
{
int a[5]={10,20,30,40,50};
int *p=&a[0];
p++;
cout<<*p<<’\t’;
p+=3;
cout<<*p<<’\t’;
cout<<*p--<<’\t’;
cout<<++*p<<’\t’;
}
运行结果:20 50 50 41 。
#include <>
class Sample
{
public:
Sample()
{
cout<<”构造函数:”<<endl;
}
};
void fn(int i)
{ static Sample c;
cout<<”i=”<<i<<endl;
}
void main()
{ fn(10);
fn(20);
}
运行结果为: 构造函数:
i=10
i=20 。
#include <>
class Sample
{
int x;
public:
Sample() {};
void setx(int i) {x=i;};
friend int fun(Sample B[], int n)
{ int m=0;
for(int i=0;i<n;i++)
if(B[i].x>m) m=B[i].x;
return m;
}
};
void main()
{Sample A[10];
int Arr[]={90,87,42,78,97,84,60,55,78,65};
for(int i=0;i<10;i++)
A[i].setx(Arr[i]);
cout<<fun(A,10)<<endl;
}
程序运行结果为: 97 。
四、(1×15=15分)定义描述职工工资信息结构体类型(salary),职工工资信息为工号(no)、姓名(name)、应发工资(deal)、税金(tax)与实发工资(fact)。编写三个函数分别用于:
(1)输入全组职工的工号、姓名、应发工资、税金(函数名input())。
(2)计算每一个职工的实发工资,实发工资=应发工资-税金(函数名count())。
(3)输出全组职工的工号、姓名、应发工资、税金与实发工资(函数名
output())。在主函数中先定义职工工资结构体数组,然后调用上述三函数,分别完成输入、计算与输出工作。
#include<>
struct salary //定义结构体
{
char no[6];
char name[16];
float deal;
float tax;
float fact;
};
void input(salary* sly,int n)
{
for(int i = 0; i < n; i++,sly++)
{
cout<<"请依次输入第"<<i+1<<"个职工的工号、名字、应发工资、税金:\n";
cin>>sly->no>>sly->name>>sly->deal>>sly->t