第16周OJ实践2 结构体---职工信息结构体

问题及代码:

Problem B: 结构体---职工信息结构体

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 1140   Solved: 646
[ Submit][ Status][ Web Board]

Description

编写程序,定义一个存放职工信息的结构体类型,职工信息包括职工姓名、工作年限、工资总额。初始化5名职工的信息,对工作年限超过30年的职工每人加100元工资,要求分别输出工资变化之前和之后的所有职工的信息。

Input

输入5个员工的职工姓名、工作年限、工资总额

Output

输出两部分,第一部分输出工资变化之前所有职工的信息,第二部分输出工资变化之后的所有职工的信息


Sample Input

zhang1 5 1000
zhang2 10 2000
zhang3 20 3000
zhang4 40 4000
zhang5 50 5000

Sample Output

原始工资
姓名    年限    工资
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

/*烟台大学计算机学院
作者:景怡乐
完成时间:2016年12月16日
*/
#include 
#include 
#define n 5//n在函数里一直等于5,是常量.以后n可以换位任何值,程序更全面
struct staff
{
    char name[10];
    int year;
    int salary;
};
int main()
{
    int i;
    struct staff a[n];
    for(i=0;i=30)
            a[i].salary=a[i].salary+100;
        printf("%s    %d    %d\n",a[i].name,a[i].year,a[i].salary);
    }
    return 0;
}

运行结果:

第16周OJ实践2 结构体---职工信息结构体_第1张图片

知识点总结:

  1. #define是宏定义的意思

  2. 宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。

  3. 宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。

  4. 宏定义其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令

学习心得:数组第一位从0开始,这点要注意一下。

你可能感兴趣的:(第16周OJ实践2 结构体---职工信息结构体)