检查并修改C语言程序:给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。 输入格式: 输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。 输出格式: 按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。 输入样例: 3 zhao 240 400 75 qian 360 120 50 zhou 560 150 80 输出样例: zhao 565.00 qian 430.00 zhou 630.00。#include <stdio.h> struct xinxi { char name[10]; int basegz; int movegz; int out; }; int main() { int n, i; struct xinxi xin; double shiji; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%s %d %d %d", xin.name, &xin.basegz, &xin.movegz, &xin.out); shiji = (double) (xin.basegz + xin.movegz - xin.out); printf("%s %.2lf\n", xin.name, shiji); } return 0; }
时间: 2024-03-26 16:35:37 浏览: 100
以下是修改后的程序,主要是将实发工资的数据类型改为 double,同时对输入输出格式进行了修改:
```c
#include <stdio.h>
struct xinxi {
char name[10];
double basegz;
double movegz;
double out;
};
int main() {
int n, i;
struct xinxi xin;
double shiji;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%s %lf %lf %lf", xin.name, &xin.basegz, &xin.movegz, &xin.out);
shiji = xin.basegz + xin.movegz - xin.out;
printf("%s %.2lf\n", xin.name, shiji);
}
return 0;
}
```
修改后的程序可以正常通过编译和运行,并且可以按照要求顺序输出每位职员的姓名和实发工资,工资保留 2 位小数。
阅读全文