检查并修改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 浏览: 20
以下是修改后的程序,主要是将实发工资的数据类型改为 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 位小数。
相关问题
给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写C语言程序顺序从大到小 输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)
以下是一个C语言程序的示例,用于根据给定的N个职员的信息,按照实发工资从大到小的顺序输出每位职员的姓名和实发工资:
```c
#include <stdio.h>
typedef struct {
char name[50];
float basicSalary;
float floatingSalary;
float expenditure;
float netSalary;
} Staff;
void InputData(Staff sta[], int n) {
for (int i = 0; i < n; i++) {
printf("请输入第%d位职员的姓名:", i+1);
scanf("%s", sta[i].name);
printf("请输入第%d位职员的基本工资:", i+1);
scanf("%f", &sta[i].basicSalary);
printf("请输入第%d位职员的浮动工资:", i+1);
scanf("%f", &sta[i].floatingSalary);
printf("请输入第%d位职员的支出:", i+1);
scanf("%f", &sta[i].expenditure);
}
}
void Calculate(Staff sta[], int n, float sum[]) {
for (int i = 0; i < n; i++) {
sta[i].netSalary = sta[i].basicSalary + sta[i].floatingSalary - sta[i].expenditure;
sum[i] = sta[i].netSalary;
}
}
void Sort(Staff sta[], int n, float sum[]) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (sum[j] < sum[j+1]) {
float temp = sum[j];
sum[j] = sum[j+1];
sum[j+1] = temp;
Staff tempStaff = sta[j];
sta[j] = sta[j+1];
sta[j+1] = tempStaff;
}
}
}
}
void OutputData(Staff sta[], int n) {
printf("按照实发工资从大到小的顺序输出每位职员的姓名和实发工资:\n");
for (int i = 0; i < n; i++) {
printf("姓名:%s,实发工资:%.2f\n", sta[i].name, sta[i].netSalary);
}
}
int main() {
int n;
printf("请输入职员的个数:");
scanf("%d", &n);
Staff sta[n];
float sum[n];
InputData(sta, n);
Calculate(sta, n, sum);
Sort(sta, n, sum);
OutputData(sta, n);
return 0;
}
```
用c语言给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式: 输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为"姓名 基本工资 浮动工资 支出",中间以空格分隔。其中"姓名"为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式: 按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。
好的,以下是使用C语言编写的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
char name[11];
float base_salary, floating_salary, expense, real_salary;
scanf("%s %f %f %f", name, &base_salary, &floating_salary, &expense);
real_salary = base_salary + floating_salary - expense;
printf("%s %.2f\n", name, real_salary);
}
return 0;
}
```
首先读入职员总数n,然后循环n次,每次读入职员的姓名、基本工资、浮动工资和支出,并计算实发工资。最后使用`printf()`输出姓名和实发工资,其中`%.2f`表示保留两位小数输出实发工资。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)