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; }
希望我的回答能够帮到你,如果你还有什么其他的问题,欢迎再次咨询我。
解决评论 打赏 举报无用 2
悬赏问题
- ¥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时被拒绝