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

c语言统计平均工资

发布时间: 2022-07-28 05:34:52

A. 设计一个公司的数据结构,并使用结构指针数组储存职员信息,统计公司员工工资总额和平均工资。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; }

B. c语言作业

//注意输入的时候不能输入空数(直接按enter),否则计算的平均工资将出错
#include
void main()
{
double money_ave[4];
int money,n,i;
for (n=1;n<4;n++)
{ printf("请依次输入第%d个班组各成员的工资(元) ",n);
i=0;
money=0;
while (1)
{
i++;
scanf("%d",&money);
if (money==-1)
{
i--;
break;
}
money_ave[n]+=money;
}
money_ave[n]=( float )money_ave[n]/( float )i;
}
for (n=1;n<4;n++)
printf("第%d个班组的平均工资为%f(元) ",n,money_ave[n]);
}

C. c语言编程:建立一个结构体数组

分析题意:

一、要定义两个结构体,一个是日期年月日,一个是员工。

二、程序包含三个功能:1、结构数组的输入。2、结构数组的输出。3、统计平均工资。根据编程习惯,三功能要写成独立函数,方便扩展和调用。

ps:员工数量定义成常量,也为编程习惯,便于修改。另外,日期验证我只写了月份检测给你参考。需扩展,自行编写函数验证。

#include <stdio.h>

#define M 3//最大员工数量

typedef struct date

{

int year;

int month;

int day;

}YMD;

typedef struct employee

{

int id;//工号

char name[20];//姓名

YMD date;//日期

int wage;

}EME;

void inputInfo(EME emes[]);//输入

void outputInfo(EME emes[]);//输出

float getAvg(EME emes[]);//求平均工资

int main()

{

EME emes[M];//员工结构体数组

inputInfo(emes);

outputInfo(emes);

printf("平均工资:%f",getAvg(emes));

return 0;

}

void inputInfo(EME emes[])

{

int i;

for(i=0;i<M;i++)

{

printf("请输入员工%d的信息: ",i+1);

printf("工号:"),scanf("%d",&emes[i].id);

printf("姓名:"),scanf("%s",emes[i].name);

printf("日期(分别输入年月日,空格分割):"),scanf("%d%d%d",&emes[i].date.year,&emes[i].date.month,&emes[i].date.day);

if(emes[i].date.month>12 || emes[i].date.month<=0)//日期输入的验证不通过时,重新输入,验证可单独写函数,这里只做参考!

{

printf("输入日期不符合,请重新输入! "),i--;

continue;

}

printf("工资:"),scanf("%d",&emes[i].wage);

printf(" ");

}

}

void outputInfo(EME emes[])

{

int i;

printf("所有员工的信息为:---------------------------- ");

for(i=0,printf("员工%d的信息: ",i+1);i<M;i++)

{

printf("工号:%d ",emes[i].id);

printf("姓名:%s ",emes[i].name);

printf("日期:%04d-%02d-%02d ",emes[i].date.year,emes[i].date.month,emes[i].date.day);

printf("工资:%d ",emes[i].wage);

printf(" ");

}

}

float getAvg(EME emes[])

{

int i;

float sum=0;

for(i=0;i<M;i++)

sum+=emes[i].wage;

return sum/M;

}

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

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

E. 用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);

}

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

F. 统计全单位人员的平均工资。单位的人数不固定,工资数从键盘先后输入

用IF循环语句,可以设置一个输入结束的字符如Q进行判断是否结束输入,通过循环录入员工工资,并将输入的工资数每次加到总数里,输入次数也计算下,最后出平均结果,筛选也可以用循环判断下符合条件的打印出来

G. 用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
个人的平均工资
*/
}

H. 用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就输出最小的。这个是输出最大的

I. 请大神帮忙用循环结构设计下面这个程序。。C语言。

float s; //每个人工资
float t=0; //工资总和
int n=0; //人数
scanf("%f", &s);
if(s != -1)
{ do
{t = t+s;
n++;
scanf("%f", &s);
}while(s!= -1);
printf("%f", t/n);
}

J. c语言编程:计算四项工资平均值,并将结果保存到新文件中 我目前写的如下,帮忙改

你没写保存文件的代码