当前位置:首页 » 编程语言 » 平均工资排序C语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

平均工资排序C语言

发布时间: 2023-01-05 15:53:07

① 用c语言编写:有30个人的工资,存放在一个一维数组中,编写程序求平均工资,最

int i; float c[30], t,a,h,l;// c是工资,t总和 a平均 h最高 l最低
av=0;h=c[0];l=c[0];t =c[0];
for(i=1;i<30;i++) {
if (c[i]>h) h=c[i];
if (c[i]<l) l=c[i];
t=t+c[i];
}
a=t/30;

② 用C语言写一个程序,要求如下:用C语言表示10个人在3个月中平均工资的程序

#include<stdio.h>
#define NUM 3
struct pep
{
float one;
float two;
float three;
}PP[NUM];
int max(struct pep *x,struct pep *y)
{
if((x->three/x->one)>(y->three/y->one))return -1;
else if((x->three/x->one)<(y->three/y->one))return 1;
else
return 0;
}
int main()
{ int i;
for(i=0;i<NUM;i++)
{
scanf("%f %f %f",&PP[i].one,&PP[i].two,&PP[i].three);
}
qsort(PP,NUM,sizeof(struct pep),max);
printf("%.2f %.2f %.2f ",PP[0].one,PP[0].two,PP[0].three);

printf("\n");

}
要三十行就把输入语句拆成三个,max函数里面-1变1,1变-1就输出最小的。这个是输出最大的

③ c语言编一个工资管理系统 本系统能够方便、灵活地实现职工工资的输入、添加、删除等编辑操作以及查询等

*/#include "stdafx.h"
#include "iostream"
#include "string"
#include "list"
#include "cassert"
using namespace std;/*
编号、姓名、部门、应付工资、保险、税金、实付工资。
其中实付工资由公式计算得到:实付工资=应付工资 - 保险- 税金
*/
struct employee{
string m_num;//编号
string m_name;//姓名
string m_dep;//部门
double m_salary;//应付工资
double m_insurance;//保险
double m_tax;//税金
};/*
(1)录入:输入职工数据,其中“实付工资”通过计算得到;
(2)删除:删除指定的职工信息(输入姓名,若找到则删除该信息)
(3) 修改:允许对已经录入的数据重新进行编辑、修改;
(4) 显示:显示全体职工数据;
(5)查询:
a. 输入职工姓名,显示该职工的全部数据;
b. 输入某部门值,显示该部门职工的数据、工资总额、平均工资。
(6) 退出程序。
*/list<employee> emps;int _tmain(int argc, _TCHAR* argv[])
{
void print(const employee &e);
void input();
void del();
void mod();
void show_all();
void show_name();
void show_dep();cout<<"简易职工薪水管理程序 by 做他\n";// delete this line
cout<<"版权没有 请随意复制或修改任何代码\n";//delete this linecout<<"请选择操作:1.录入 2.删除 3.修改 4.查询 5.显示所有员工 6.退出 :";
int choose=0;
cin>>choose;
assert(!cin.fail());
while (choose!=6)
{
if (choose==1) input();
if (choose==2) del();
if (choose==3) mod();
if (choose==4)
{
int choice=0;
cout<<"请选择操作 1.按姓名查询 2.按部门查询 3.退出:";
cin>>choice;
if (choice==1) show_name();
if (choice==2) show_dep();
if (choice==3)
{
cout<<"请选择操作:1.录入 2.删除 3.修改 4.查询 5.显示所有员工 6.退出 :";
cin>>choose;
assert(!cin.fail());
continue;
}
}
if (choose==5) show_all();
cout<<"请选择操作:1.录入 2.删除 3.修改 4.查询 5.显示所有员工 6.退出 :";
cin>>choose;
assert(!cin.fail());
}
return 0;
}void print(const employee &e)
{
cout<<"编号:"<<e.m_num<<endl;
cout<<"姓名:"<<e.m_name<<endl;
cout<<"部门:"<<e.m_dep<<endl;
cout<<"保险:"<<e.m_insurance<<endl;
cout<<"税金:"<<e.m_tax<<endl;
cout<<"应付工资:"<<e.m_salary<<endl;
cout<<"实付工资:"<<e.m_salary-e.m_insurance-e.m_tax<<endl;
}void input()
{
string num,name,dep;
double salary,ins,tax;
cout<<"请输入员工编号:";
cin>>num;
cout<<"请输入员工姓名:";
cin>>name;
cout<<"请输入员工部门:";
cin>>dep;
cout<<"请输入员工保险:";
cin>>ins;
assert(!cin.fail());
cout<<"请输入员工税金:";
cin>>tax;
assert(!cin.fail());
cout<<"请输入员工应付工资:";
cin>>salary;
assert(!cin.fail());
employee temp;
temp.m_dep=dep;
temp.m_insurance=ins;
temp.m_name=name;
temp.m_num=num;
temp.m_salary=salary;
temp.m_tax=tax;
emps.push_back(temp);
cout<<"员工录入操作完毕.\n";
}void del()
{
if (emps.size()==0)
{
cout<<"没有员工记录.\n";
return;
}
string name;
bool isfind=false;
cout<<"请输入要删除的员工姓名:";
cin>>name;
list<employee>::iterator iter;
for (iter=emps.begin();iter!=emps.end();iter++)
{
if (iter->m_name==name)
{
isfind=true;
emps.erase(iter);
cout<<"姓名为\""<<name<<"\"的员工记录已删除.\n";
return;
}
}
if (!isfind)
{
cout<<"没有找到姓名为\""<<name<<"\"的员工.\n";
return;
}
}void mod()
{
if (emps.size()==0)
{
cout<<"员工记录为空.\n";
return;
}
bool isfind=false;
string name;
cout<<"请输入要修改的员工姓名:";
cin>>name;
list<employee>::iterator iter;
for (iter=emps.begin();iter!=emps.end();iter++)
{
if (iter->m_name==name)
{
isfind=true;
cout<<"姓名为\""<<name<<"\"的员工记录已找到.\n";
break;
}
}
if (isfind)
{
string num,name,dep;
double tax,ins,salary;
print(*iter);
cout<<endl;
cout<<"请输入新的员工编号:";
cin>>num;
cout<<"请输入新的员工姓名:";
cin>>name;
cout<<"请输入新的员工部门:";
cin>>dep;
cout<<"请输入新的员工保险:";
cin>>ins;
assert(!cin.fail());
cout<<"请输入新的员工税金:";
cin>>tax;
assert(!cin.fail());
cout<<"请输入新的员工工资:";
cin>>salary;
assert(!cin.fail());
iter->m_dep=dep;
iter->m_insurance=ins;
iter->m_name=name;
iter->m_num=num;
iter->m_salary=salary;
iter->m_tax=tax;
cout<<"1 员工记录被成功修改.\n";
}
else
{
cout<<"没有找到姓名为\""<<name<<"\"的员工记录.\n";
}
}void show_all()
{
if (emps.size()==0)
{
cout<<"员工记录为空.\n";
return;
}
cout<<"显示全体员工数据:\n";
cout<<"--------------------\n";
list<employee>::iterator iter;
for(iter=emps.begin();iter!=emps.end();iter++)
{
cout<<endl;
print(*iter);
cout<<endl;
}
cout<<"--------------------\n";
}void show_name()
{
if (emps.size()==0)
{
cout<<"员工记录为空.\n";
return;
}
bool isfind=false;
string name;
cout<<"请输入要查询的员工姓名:";
cin>>name;
list<employee>::iterator iter;
for(iter=emps.begin();iter!=emps.end();iter++)
{
if (iter->m_name==name)
{
isfind=true;
cout<<"姓名为\""<<name<<"\"的员工记录已找到.\n";
print(*iter);
break;
}
}
if (!isfind)
{
cout<<"没有找到姓名为\""<<name<<"\"的员工.\n";
return;
}
}void show_dep()
{
if (emps.size()==0)
{
cout<<"员工记录为空.\n";
return;
}
double isfind=0.00;
double total_salary=0.00;
string dep;
cout<<"请输入要查询的部门名称:";
cin>>dep;
cout<<"部门["<<dep<<"]的员工信息:\n";
cout<<"--------------------\n\n";
list<employee>::iterator iter;
for(iter=emps.begin();iter!=emps.end();iter++)
{
if (iter->m_dep==dep)
{
isfind++;
total_salary+=iter->m_salary;
print(*iter);
cout<<endl;
continue;
}
}
cout<<"--------------------\n";
if (isfind==0)
{
cout<<"没有找到名称为["<<dep<<"]的部门.\n";
}
else
{
cout<<"部门["<<dep<<"]工资统计:\n";
cout<<"工资总额:"<<total_salary<<endl;
cout<<"平均工资:"<<total_salary/isfind<<endl;
}
}

④ C语言程序设计 输入10名职工的职工号和工资,计算平均工资并输出低于平均工资的职工号和工资。

我给你编写了一个简单的,你自己参考一下,自己润色吧!!!
#include<stdio.h>
typedef struct employee
{
char employee_num[15];
float salary;
}employee;
main()
{
employee A[10];
for(int i=0;i<10;i++)
{
printf("input the number and the salary of the employee %d ",i+1);
scanf("%s %f",&A[i].employee_num,&A[i].salary);
}
float average_salary=0;
for(i=0;i<10;i++)
average_salary+=A[i].salary;
average_salary=average_salary/10;
for(i=0;i<10;i++)
{
if(A[i].salary<average_salary)
printf("%s,%.4f\n",A[i].employee_num,A[i].salary);
}
return 0;
}

⑤ c语言函数名:avgSalary * 功能:计算多个职工的平均工资、最高工资和最低工资 *

判断语句出错 应该拿上一次的high出来对比。你的判断漏洞在于如果k大于i。i小于m的时候不成立

⑥ 设计一个公司的数据结构,并使用结构指针数组储存职员信息,统计公司员工工资总额和平均工资。C语言。

/* please input the total number of employees : 3 please input 1/3 massage:name age salary 胥立畅 32 6890.50 please input 2/3 massage:name age salary 王莹莹 24 3698.85 please input 3/3 massage:name age salary 李大海 28 4896.80 胥立畅 32 6890.00 王莹莹 24 3698.00 李大海 28 4896.00 Press any key to continue */ #include <stdio.h> #include <string.h> #include <malloc.h> typedef struct employee { int age; char *name; double salary; }PEMP; void update(PEMP a[],int id,int age,char *name,double salary) { a[id].age = age; a[id].salary = salary; a[id].name = (char *)malloc(strlen(name)*sizeof(char) + 1); strcpy(a[id].name,name); } void reading(PEMP a[],int n) { int i,age; double salary; char name[30]; for(i = 0;i < n;++i) { printf("please input %d/%d massage:name age salary\n",i + 1,n); scanf("%s %d %lf",name,&age,&salary); update(a,i,age,name,salary); } } double Adp(PEMP *a,int n) { int i; double sum = 0.0; for(i = 0; i < n; ++i) sum += a[i].salary; return sum; } void Show(PEMP a[],int n) { int i; for(i = 0; i < n; ++i) printf("%s %d %.2lf\n",a[i].name,a[i].age,a[i].salary); printf("\n"); } int main() { int n; double sum; PEMP company[30]; printf("please input the total number of employees : "); scanf("%d",&n); reading(company,n); Show(company,n); sum = Adp(company,n); printf("工资总额:%.2lf,平均工资 : %.2lf\n",sum,sum/n); return 0; }

⑦ 用C语言编写一个求10个人平均工资的程序

#include<stdio.h>
void main()
{
float wages[10],sum=0;
int i;
printf("请输入10人工资\n");
for(i=0;i<10;i++){
scanf("%f",&wages[i]);
sum=sum+wages[i];
}
printf("平均工资为%7.2f\n",sum/10);

}

纯手工~可能会有小错误,思路应该没有问题。

⑧ 用c语言编写一个求n个人平均工资的程序

#include <stdio.h>
void main( )
{
int n = 0 , i = 0 ;

float total_salary = 0.0, every_salary = 0.0 ;

scanf("%d", &n) ; /* 输入要计算的 n 个人 */
for( i = 1 ; i <= n ; i ++ )

{

scanf("%f", &every_salary) ; /* 输入每一个人的薪水 */

total_salary += every_salary ; /* 全部薪水变量进行累加 */

}

printf("Average salary is: %f\n", total_salary/n) ; /* 循环结束后输出 n 个人的平均工资 */

}