c语言实现员工信息按序号排序,编写有一个程序,该程序输入职工工号和完成的产品数量,程序允许同一职工有多次输入,由程序对其完成的产品数量实现累计。程序按完成数量对他们排序,并确定他们的名次。按完成的产品...

满意答案

00e27ab806e4881f8254fe7ae8741834.png

Arnima阿尼玛

2014.07.08

00e27ab806e4881f8254fe7ae8741834.png

采纳率:43%    等级:10

已帮助:220人

我认为产品数也是整型,确切说是unsigned int,你可以自己改过来!

以下是代码:

#include

int main(char** argv){

int n[5],i,j,t; /*n是工号*/

int x[5]={0,0,0,0,0}; /*x是产品数量*/

int current_worker_id, product_counts,worker_count=0;

int done = 0;

printf("Enter worker ID and product counts\n");

for(i=0;i<5;i++){

printf("worker %d's ID :",i+1);

scanf("%d",&current_worker_id);

printf("product counts:");

scanf("%d",&product_counts);

//以上先临时保存输入的数据,以下分类处理

done = 0;

for(j=0;j

if(n[j]==current_worker_id){//说明先前同一个worker已经输入过一次

x[j] += product_counts;//所以直接对产品数量累加

done =1;

break;

}

}

if(done == 0){//说明是第一次输入,这是新的worker

n[worker_count] = current_worker_id;

x[worker_count] = product_counts;

worker_count++;

}

}

//已经输入5次之后,开始统计

for(i= 0; i

int min = i;

for(j = i+1; j

if(x[min] > x[j])

min = j;

}

int temp = x[min];

x[min] = x[i];

x[i] = temp;

temp = n[min];

n[min] = n[i];

n[i] = temp;

}

printf("\nresult is:\n");

for(i =0; i

printf("worker : %d produces %d products\n",n[i],x[i]);

}

}

10分享举报

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值