为这个程序改错:#include<stdio.h> int main() { struct emp { char name[10]; float jbg; float fdg; float zc; }; int i,n; printf("n="); scanf("%d",&n); for(i=0;i<n;i++) int emp; float zc; scantf("%s%d%d%d",emp[i].name,emp[i].&jbg,emp[i].&fdg,emp[i],&zc); for(i=0;i<n;i++) /*调试时设置断点*/ printf("%5s:%7.2f\n", emp[i].name,emp[i]. jbg+emp[i].fdg-emp[i],zc); return 0; }
时间: 2024-01-14 18:03:05 浏览: 92
这个程序有一些语法错误和逻辑错误,以下是改正后的程序:
```
#include <stdio.h>
struct emp {
char name[10];
float jbg;
float fdg;
float zc;
};
int main() {
int i, n;
printf("n=");
scanf("%d", &n);
struct emp emp[n]; // 定义结构体数组
for(i = 0; i < n; i++) {
printf("请输入员工的姓名、基本工资、浮动工资和职称:");
scanf("%s%f%f%f", emp[i].name, &emp[i].jbg, &emp[i].fdg, &emp[i].zc);
}
for(i = 0; i < n; i++) {
// 计算员工的总工资
float zg = emp[i].jbg + emp[i].fdg + emp[i].zc;
printf("%5s:%7.2f\n", emp[i].name, zg);
}
return 0;
}
```
改正后的程序使用了结构体数组来存储员工信息,修正了循环中的语法错误和变量定义错误,计算员工总工资也进行了修改。
阅读全文