2015年17.输入10个雇员的信息(姓名,工资号),按工资号排序输出。要求雇员的信息用结构体, 用两个函数分别完成10个雇员信息的输入及排序。

/*
17.输入10个雇员的信息(姓名,工资号),按工资号排序输出。要求雇员的信息用结构
体, 用两个函数分别完成10个雇员信息的输入及排序。
*/

/*
	t1 1234
	t2 456
	t3 888
	t4 254
	t5 21234
	t6 23
	t7 223
	t8 889
	t9 534
	t10 1234
*/

#include <stdio.h>
#include <string.h>

struct _employee {
	char name[20];
	int salaryNO;
}employee_info[10], *pInfo;

void inputInfo();
void sortInfo();

int main() {
	int i;
	inputInfo();
	sortInfo();
	for (i = 0; i < 10; ++i) {
		printf("name:%s, salaryNO:%d\n", employee_info[i].name, employee_info[i].salaryNO);
	}
	return 0;
}

void inputInfo() {
	int i;
	for (i = 0; i < 10; ++i) {
		scanf("%s%d", &employee_info[i].name, &employee_info[i].salaryNO);
		getchar();//吸收换行符
	}
}

void sortInfo() {
	int i, j, temp_salaryNO;
	char temp_name[20];
	for (i = 0; i < 10 - 1; ++i) {
		for (j = 0; j < 10 - i - 1; ++j) {
			if (employee_info[j].salaryNO > employee_info[j + 1].salaryNO) {
				struct _employee temp;
				memcpy(&temp, &employee_info[j], sizeof(struct _employee));
				memcpy(&employee_info[j], &employee_info[j + 1], sizeof(struct _employee));
				memcpy(&employee_info[j + 1], &temp, sizeof(struct _employee));
				/*strcpy(temp_name, employee_info[j].name);
				temp_salaryNO = employee_info[j].salaryNO;
				strcpy(employee_info[j].name, employee_info[j + 1].name);
				employee_info[j].salaryNO = employee_info[j + 1].salaryNO;
				strcpy(employee_info[j + 1].name, temp_name);
				employee_info[j + 1].salaryNO = temp_salaryNO;*/
			}
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值