谦小弟一游 2021-06-18 20:25 采纳率: 33.3%
浏览 409

定义一个含职工姓名、工作年限、工资总额的结构体类型,从键盘输入5名职工的信息

C语言: 采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超过30年的职工加1000元工资,并输出工资变化后的所有职工的信息(要求用下标法和指针法实现)

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-03-16 18:49
    关注

    参考GPT和自己的思路:

    好的,针对你的问题,我可以提供以下代码实现:

    #include <stdio.h>
    
    // 定义包含职工信息的结构体类型
    struct Employee {
        char name[20]; // 职工姓名
        int year; // 工作年限
        float salary; // 工资总额
    };
    
    int main() {
        int i;
        struct Employee emp[5];
        struct Employee *p = emp;
    
        // 从键盘输入5名职工的信息
        for (i = 0; i < 5; i++, p++) {
            printf("请输入第%d名职工的信息:\n", i+1);
            printf("姓名:");
            scanf("%s", p->name);
            printf("工作年限:");
            scanf("%d", &p->year);
            printf("工资总额:");
            scanf("%f", &p->salary);
        }
    
        // 对工作年限超过30年的职工加1000元工资
        p = emp;
        for (i = 0; i < 5; i++, p++) {
            if (p->year > 30) {
                p->salary += 1000;
            }
        }
    
        // 输出工资变化后的所有职工的信息(用下标法)
        printf("\n用下标法输出所有职工的信息:\n");
        for (i = 0; i < 5; i++) {
            printf("第%d名职工的信息:\n", i+1);
            printf("姓名:%s\n", emp[i].name);
            printf("工作年限:%d\n", emp[i].year);
            printf("工资总额:%.2f\n", emp[i].salary);
        }
    
        // 输出工资变化后的所有职工的信息(用指针法)
        printf("\n用指针法输出所有职工的信息:\n");
        p = emp;
        for (i = 0; i < 5; i++, p++) {
            printf("第%d名职工的信息:\n", i+1);
            printf("姓名:%s\n", p->name);
            printf("工作年限:%d\n", p->year);
            printf("工资总额:%.2f\n", p->salary);
        }
    
        return 0;
    }
    

    希望我的回答能够帮到你,如果你还有什么其他的问题,欢迎再次咨询我。

    评论

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝