📄 tc23-2.c
字号:
/******************
tc23-2.c
职工工资工资统计
******************/
#include "stdio.h"
typedef struct gz /* 定义职工工资结构体类型GZ */
{
int num; /* 职工编号 */
char name[8]; /* 姓名 */
int jbgz; /* 基本工资 */
int jj; /* 奖金 */
int tc; /* 提成 */
int ydgz; /* 应得工资 */
} GZ;
void main( )
{
GZ s[20]; /* 定义工资结构体数组 */
int i,j,zggz,zdgz;
float zgz,pjgz;
char f;
zgz=0; /* 总工资初始化 */
zggz=0; /* 最高工资初始化 */
zdgz=65535; /* 最低工资初始化 */
i=0; /* 数组下标初始化 */
printf(" 职工工资统计\n");
do{
f='\0'; /* 设置是否继续输入的标志*/
printf("编号:");
scanf("%d",&s[i].num);
printf("姓名:");
scanf("%s",s[i].name); /* 引用结构体成员,输入职工姓名 */
printf("基本工资:");
scanf("%d",&s[i].jbgz);
printf("奖金:");
scanf("%d",&s[i].jj);
printf("提成:");
scanf("%d",&s[i].tc);
s[i].ydgz=s[i].jbgz+s[i].jj+s[i].tc; /*计算实发工资*/
printf("是否继续输入?(Y/N)");
while(f!='y'&&f!='Y'&&f!='n'&&f!='N') /* 确保输入标志为'y','Y','N','n'*/
f=getchar();
i++;
}while(f!='n'&&f!='N');
for(j=0;j<i;j++)
{
zgz=zgz+s[j].ydgz; /* 计算总工资*/
if(zggz<s[j].ydgz) /* 查找最高工资*/
zggz=s[j].ydgz;
if(zdgz>s[j].ydgz) /* 查找最低工资*/
zdgz=s[j].ydgz;
}
pjgz=(float)(zgz/i); /* 计算平均工资*/
printf("\n----------------------------------------------------\n");
printf(" 编号 姓名 基本工资 奖金 提成 实发工资\n");
for(j=0;j<i;j++)
printf("%6d %6s %6d %6d %6d %6d\n",s[j].num,s[j].name,s[j].jbgz,s[j].jj,s[j].tc,s[j].ydgz);
printf("职工总工资为%.2f, 平均工资为%.2f\n",zgz,pjgz);
printf("最高工资为%d, 最低工资为%d\n",zggz,zdgz);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -