2021 发工资咯

发工资咯:)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 31283    Accepted Submission(s): 17568


Problem Description
作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵
但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就在考虑一个问题:如果每个老师的工资额都知道,最少需要准备多少张人民币,才能在给每位老师发工资的时候都不用老师找零呢?
这里假设老师的工资都是正整数,单位元,人民币一共有100元、50元、10元、5元、2元和1元六种。
 

Input
输入数据包含多个测试实例,每个测试实例的第一行是一个整数n(n<100),表示老师的人数,然后是n个老师的工资。
n=0表示输入的结束,不做处理。
 

Output
对于每个测试实例输出一个整数x,表示至少需要准备的人民币张数。每个输出占一行。
 

Sample Input
  
  
3 1 2 3 0
 
Sample Output
   
   
4

#include<cstdio>
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		int a[100];
		if(n<=0||n>=100)return 0;
		for(int i=0;i<n;i++)scanf("%d",&a[i]);
		int s[6]={100,50,10,5,2,1},m,c=0;
		for(m=0;m<n;m++)
		{
			int t;
			for(int i=0;i<6;i++)
			{
				t=a[m]/s[i];
				a[m]=a[m]-t*s[i];
				c=c+t;
				if(t/s[i])i--;//假如某位老师的工资是4时,可以取2、2,此时得处理以防漏掉
			}

		}
		printf("%d\n",c);
	}
	return 0;
}



Sample Output
   
   
4
好的,我明白了你的问题。以下是针对你的问题的 SQL 语句: 1. 建立ks数据库,创建“职工”和“工资”表,并为职工和工资表添加数据: ``` CREATE DATABASE ks; USE ks; CREATE TABLE 职工 ( 职工号 INT PRIMARY KEY, 姓名 VARCHAR(20), 性别 VARCHAR(2), 部门 VARCHAR(20), 应发工资 NUMERIC(8, 2), 应扣款 NUMERIC(8, 2) ); CREATE TABLE 工资 ( 月份 DATE, 职工号 INT, 实发工资 NUMERIC(8, 2), PRIMARY KEY (月份, 职工号), FOREIGN KEY (职工号) REFERENCES 职工(职工号) ); INSERT INTO 职工 VALUES (1001, '张三', '男', '财务部', 12000.00, 2000.00), (1002, '李四', '女', '人事部', 13000.00, 3000.00), (1003, '王五', '男', '技术部', 15000.00, 4000.00), (1004, '赵六', '女', '市场部', 11000.00, 1000.00); INSERT INTO 工资 VALUES ('2021-01-01', 1001, 10000.00), ('2021-01-01', 1002, 11000.00), ('2021-01-01', 1003, 13000.00), ('2021-01-01', 1004, 9000.00), ('2021-02-01', 1001, 11000.00), ('2021-02-01', 1002, 12000.00), ('2021-02-01', 1003, 14000.00), ('2021-02-01', 1004, 10000.00); ``` 2. 在职工表中添加“实发工资”列,并计算出实发工资=应发工资-应扣款: ``` ALTER TABLE 职工 ADD COLUMN 实发工资 NUMERIC(8, 2); UPDATE 职工 SET 实发工资 = 应发工资 - 应扣款; ``` 3. 查询实发工资>=10000的记录: ``` SELECT * FROM 职工 WHERE 实发工资 >= 10000; ``` 4. 查询实发工资最高的三个人,显示职工号,姓名,部门,实发工资: ``` SELECT 职工号, 姓名, 部门, 实发工资 FROM 职工 ORDER BY 实发工资 DESC LIMIT 3; ``` 5. 统计各部门实发工资的平均值: ``` SELECT 部门, AVG(实发工资) FROM 职工 GROUP BY 部门; ``` 6. 创建视图st,使之只包含女职工的姓名,性别,实发工资三个字段: ``` CREATE VIEW st AS SELECT 姓名, 性别, 实发工资 FROM 职工 WHERE 性别 = '女'; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值