一个C&B的成长之路

合集下载

C语言判断一个数是否为素数方法解析

C语言判断一个数是否为素数方法解析

C语⾔判断⼀个数是否为素数⽅法解析⼀、概念介绍 素数⼜称为质数。

⼀个⼤于1的⾃然数(从2开始),除了1和它本⾝外,不能被其他⾃然数整除的叫做素数,否则称为合数。

0和1既不是素数也不是合数,最⼩的素数是2。

⼆、代码⽅法⼀:bool is_Prime(int num){int i;for(i = 2;i <= sqrt(num);i++){if(num % i == 0)//⼀旦发现有因⼦,则返回falsereturn false;}return true;}注意:在for循环判断时不能忘记 i <= sqrt(num) 的等号,因为假设 p*p = n , n的因⼦是可以取到 sqrt(n) 的,如判断 9 是不是素数,如果没有等号会出现 9是素数,⽽实际上 9不是素数。

⽅法⼆:关于质数分布的规律:⼤于等于5的质数⼀定和6的倍数相邻。

例如5和7,11和13,17和19等等;证明:令x≥1,将⼤于等于5的⾃然数表⽰如下:··· 6x-1,6x,6x+1,6x+2,6x+3,6x+4,6x+5,6(x+1),6(x+1)+1 ···可以看到,不和6的倍数相邻的数为6x+2,6x+3,6x+4,由于2(3x+1),3(2x+1),2(3x+2),所以它们⼀定不是素数,再除去6x本⾝,显然,素数要出现只可能出现在6x的相邻两侧。

因此在5到sqrt(n)中每6个数只判断2个,时间复杂度O(sqrt(n)/3)。

在⾼配版和尊享版中,都是⼀个剪枝的思想,⾼配版中裁剪了不必要的偶数,尊享版中裁剪了不和6的倍数相邻的数,虽然都没有降低时间复杂度的阶数,但都⼀定程度上加快了判断的速度。

/*⼀种⾼效的⽅法*/bool isPrime_3(int num){//两个较⼩数另外处理if(num == 2 || num == 3)return true;//不在6的倍数两侧的⼀定不是质数if(num % 6 != 1 && num % 6 != 5)return false;int i;//在6的倍数两侧的也可能不是质数for(i = 2;i <= sqrt(num);i += 6){if(num % i == 0 || num % (i + 2) == 0)return false;}//排除所有,剩余的是质数return true;}三、测试 对负数与0,1进⾏异常处理int main(){int num;bool result1,result2;printf("请输⼊⼀个正整数,以-1结束: ");scanf("%d",&num);while(num < 2 && num != -1){printf("输⼊不合法,请重新输⼊!(说明:素数必须⼤于1)\n");printf("请输⼊⼀个正整数,以-1结束: ");scanf("%d",&num);}while(num >= 2 && num != -1){result1 = isPrime(num);result2 = isPrime_3(num);if(result1 == true)printf("%d 是素数\n",num);else if(result1 == false)printf("%d 不是素数\n",num);if(result2 == true)printf("%d 是素数\n\n",num);else if(result2 == false)printf("%d 不是素数\n\n",num);printf("请输⼊⼀个正整数,以-1结束: ");scanf("%d",&num);while(num < 2 && num != -1){printf("输⼊不合法,请重新输⼊!(说明:素数必须⼤于1)\n");printf("请输⼊⼀个正整数,以-1结束: ");scanf("%d",&num);}}}四、截图到此这篇关于C语⾔判断⼀个数是否为素数⽅法的⽂章就介绍到这了,更多相关C语⾔判断⼀个数是否为素数内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

c语言中判断一个字符串是否包含另一个字符串

c语言中判断一个字符串是否包含另一个字符串

c语⾔中判断⼀个字符串是否包含另⼀个字符串转载⾃:1. 使⽤库函数string.hstrstr函数函数名: strstr功 能: 在串中查找指定字符串的第⼀次出现⽤ 法: char *strstr(char *str1, char *str2);说明:返回指向第⼀次出现str2位置的指针,如果没找到则返回NULL。

调⽤函数,判断返回值是否等于NULL,决定是否输出如;char *p=".c"; //需要的⼦串if(strstr(A,p)) printf("%s",A);2. 不使⽤库函数第⼀⾏是要查找的字符串第⼆⾏是被查找句⼦输出要查找的字符串在被查找句⼦的⾸个位置#include<stdio.h>#include<string.h>void main(){int i,j,la,lb,num=0;char c,a[120],b[4500];while((c=getchar())!='\n') a[num++]=c;a[num]='\0';num=0;while((c=getchar())!='\n') b[num++]=c;b[num]='\0';la=strlen(a);lb=strlen(b);for(i=0;(lb-i)>=la;i++){if(b[i]==a[0]){for(j=0;j<la;j++)if(b[i+j]!=a[j]) break;if(j==la) {printf("%d\n",i+1);break;}}}}3. 使⽤指针#include "stdio.h"#include "conio.h"#include "string.h"int main(){char str[20]="jsdlaadf",substr[10]="sdf"; char *p=str,*q=substr;int flag=0;for(;*(p+strlen(substr)-1);p++){for(q=substr;*p==*q&&*q;p++,q++);if(!*q){flag=1;break;}}if(flag==1) puts("accord");else puts("not accord");system("pause");}。

c语言规定在一个源程序中main函数的位置

c语言规定在一个源程序中main函数的位置

c语言规定在一个源程序中main函数的位置
c语言规定在一个源程序中main函数的位置可以是任意的;因为一个C程序总是从main函数开始执行,并在main函数中结束,不论main函数在整个过程中的位置如何。

C语言规定,在一个源程序中,main函数的位置可以任意。

因为:在一个C语言源程序中,程序总是从main函数开始执行的,不论main函数在整个过程中的位置如何。

main函数,又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式。

有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。

程序执行总是从main函数开始,如果有有其他函数,则完成对其他函数的调用后再返回到主函数,最后由main函数结束整个程序。

在执行程序时,由系统调用main函数。

main 函数是在程序启动中完成对具有静态存储期的非局部对象的初始化之后被调用的。

它是程序在有宿主(hosted)环境(亦即有操作系统)中所指定的入口点。

自立程序(启动加载器,操作系统内核,等等)的入口点则是由实现定义的。

C语言编程:输入任意一个年份和月份,输出该月份的公历日历

C语言编程:输入任意一个年份和月份,输出该月份的公历日历

//⑴程序功能描述:输入任意一个年份和月份,按以下格式输出该月份的公历日历。

//要求由程序计算出来该月份的1日是星期几,并用循环控制打印.//打印样例如下://2012年日历//========================================//9月//----------------------------------------//日一二三四五六//1//2345678//9101112131415//16171819202122//23242526272829//30//----------------------------------------//⑵程序版本号: 1.0创作日期: 2012.5.11//⑶作者信息描述:班级:国经贸1105姓名:陈君君学号:1111141169//⑷问题分析描述:1.判断某一年是否为闰年的条件是:a.年份能否被4整除,但不能被100整除;b.年份能被400整除;//2.公元1年到year年共有(y-1)年,其中天数为:(y-1)*365+闰年的个数.//⑸算法设计描述:1.根据year,计算2月份的天数;//2.计算year年1月1日到1年1月1日中间闰年的个数;//3.计算year年1月1日到1年1月1日的天数,存入变量d1;//4.计算year年month月1日到year年1月1日的天数,存入变量d2;//5.计算year年month月1日是星期几,存入变量weekday;//6.计算year年month月的天数,存入变量d3.//⑹关键语句注释说明:1.recount为year年1月1日到1年1月1日中间闰年的个数;//2.d1为year年1月1日到1年1月1日的天数;//3.d2为year年month月1日到year年1月1日的天数;//4.weekday为year年month月1日是星期几;//5.d3为year年month月的天数.//⑺调试运行过程中出现的错误及改正方法:“recount”错写为“rcount”,应写为“recount”//⑻输入数据样例:2012 9//输出数据样例://2012年日历//========================================//9月//----------------------------------------//日一二三四五六//1//2345678//9101112131415//16171819202122//23242526272829//30//----------------------------------------#include <stdio.h>void main(){int y,m,i,d1,d2,d3,w,n=0,recount=0;int t[]={31,28,31,30,31,30,31,31,30,31,30,31};//输入year年和month月printf("请输入年和月:");scanf("%d%d",&y,&m);//根据year,计算2月份的天数if(y%4==0&&y%100!=0||y%400==0)t[1]=29;//计算year年1月1日到1年1月1日中间闰年的天数recount=(y-1)/4-(y-1)/100+(y-1)/400;//计算year年1月1日到1年1月1日的天数,存入变量d1d1=(y-1)*365+recount;//计算year年month月1日到year年1月1日的天数,存入变量d2 d2=0;for(i=0;i<m-1;i++)d2+=t[i];//计算year年month月1日是星期几,存入变量weekdayw=(d1+d2+1)%7;//计算year年month月的天数,存入变量d3d3=t[m-1];//输出“表头”printf("%23d年日历\n",y);printf("===================================================\n"); printf("%23d月\n",m);printf("---------------------------------------------------\n");printf("日\t一\t二\t三\t四\t五\t六\n");//输出1日前的空格printf("\t");//输出所有日期,7个一行for(i=1;i<=d3;i++){printf("%d\t",i);if((i+w)%7==0)printf("\n");}printf("\n--------------------------------------------------\n");}。

C程序设计输入一个正整数

C程序设计输入一个正整数

C程序设计输入一个正整数
以下是一个C程序示例,该程序接收用户输入的一个正整数,并对其进行判断和处理。

```c
#include <stdio.h>
int mai
int num;
//提示用户输入正整数
printf("请输入一个正整数:");
scanf("%d", &num);
//判断输入的数是否为正整数
if (num <= 0)
printf("输入错误!请输入一个正整数。

\n");
return 0;
}
//输出输入的正整数
printf("输入的正整数为:%d\n", num);
//进行其他处理或操作...
return 0;
```
这个程序先提示用户输入一个正整数,并且使用`scanf`函数将用户输入的数存储到变量`num`中。

然后,它检查输入的数是否为正整数,如果不是则输出错误提示。

如果输入正确,它会显示输入的正整数,并且可以继续进行其他处理或操作。

当然,根据实际需求,可以在程序中添加更多的功能和逻辑。

c语音和c++语言是一个吗

c语音和c++语言是一个吗

c语音和c++语言是一个吗
c语言和c++不一样。

C++是C语言的继承,进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。

C语言是C++的基础,C++语言和C语言在很多方面是兼容的。

c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。

C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。

C++是一种面向对象的计算机程序设计语言,它是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言,支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。

两个相反的c中间一竖的符号_概述说明

两个相反的c中间一竖的符号_概述说明

两个相反的c中间一竖的符号概述说明1. 引言概述:在C语言中,存在一个由两个相反的字母C组成,中间有一条竖线的特殊符号。

这个符号不仅具有独特的形态构造,还承载着丰富的意义和象征性。

本文旨在对这个符号进行深入的探讨和解读。

文章结构:本文将从符号的定义和意义开始介绍,然后追溯其来源和历史背景,探究不同文化中变种和扩展应用,并重点分析它在现代社会中的广泛应用与影响。

最后,总结主要观点,并思考该符号未来发展的趋势、重要性以及应用前景。

目的:通过对这个特殊符号进行详尽的研究和商榷,我们可以更好地理解其起源、含义与应用范围。

同时也能够看到它在数学、物理学、计算机科学等领域中所发挥的作用,并了解艺术、设计、标识等领域重新对其进行解读和创新运用案例。

同时也不能忽视它在网络文化和流行文化中所产生的影响力以及相关讨论争议。

最重要的是,在文章结束时得出结论,概括回顾主要观点,并对符号的未来发展趋势、其在当代社会中的重要性以及应用前景进行思考。

通过对这一特殊符号的深入研究,我们可以更好地挖掘它所蕴含的意义和价值,为程序员、设计师、研究人员等提供新的思维启示和创造空间。

2. 符号的定义和意义2.1 符号的形状和构造两个相反的C中间一竖是一个特殊符号,由两个字母C构成,中间通过一竖连接。

该符号呈现出对称、平衡的形状,字母C之间的竖线象征着两个相反力量之间的连接。

2.2 符号在C语言中的用途在计算机编程语言中,这个符号通常用于表示条件判断语句或逻辑运算符。

它可以代表“等于”、“相等”、“判断相等”等含义。

在C语言中,这个符号常常被用来判断两个变量或数值是否相等,从而控制程序流程。

2.3 符号的象征意义和文化解读除了在计算机编程中使用外,这个符号也具有一定的象征意义和文化解读。

由于该符号形似“超级人类”的胸肌图案,它常被视为力量、英雄主义、耐力和决心的象征。

它在运动领域经常被运动员与健身爱好者作为标志或图案使用。

此外,在社会中也有其他文化解读。

女人喜欢上一个男人的50种表现

女人喜欢上一个男人的50种表现

女人喜欢上一个男人的50种表现/图女人喜欢一个人时会有哪些表现?当爱上一个人时,女人通常比男人善于掩饰,但爱情是藏不住的,只要你善于观察,爱的信号便不难被发现。

不知道她是不是对你有好感?聊天本身、她的视线或表情、她的小动作,以及她身体的朝向,都在偷偷告诉你,她对你是不是有意思哦。

女人爱男人,尽管是一个很难破译的密码,但要想寻到一些“蛛丝马迹”也并非就蜀道之难。

其实,真正爱一个人就是不去计较,可以坐卧不安,可以牵肠挂肚,可以把爱心、痴心、专心、耐心、用心发挥并运用到极致。

当然,男女之间的情,如果变得像1+1=2 那么简单,男人和女人之间就不会有那么多的情感纠纷了。

但如果有下面的十五种情感表现,是可以表明她已经爱上你了。

1、和你交谈的时候,身体是朝向哪个方向的? 不管她怎样盈盈微笑,言语曼妙,要知道是否对你有好感,请先看她的身体朝向。

坐着的情况下,哪怕她的上半身是倾向于你的,只要她的脚是朝向和你相反的方向,或者收拢得很端正,就说明她的心可还没给你呢。

如果是站着说话,那就观察一下两人之间的距离。

一般而言,五十厘米以内的,是亲密距离。

但,且慢下结论,再看看她的身体语言,是防守型的吗?比如,是不是抱着胳膊? 如果不是,她对你基本没有警戒心。

2、告别时的表现快要分手了,比如,已经到车站了,你们朝两个方向走开,她走出去两三步以后,是不是回过身来看你?如果她就这么扬长而去,不再回头,那说明,你们只是单纯的朋友关系。

(上下级关系、客户关系,另当别论) 3、眼神不撒谎先问她最简单的问题,喜欢吃什么,不喜欢吃什么。

这时你要观察的,是她的视线。

研究神经语言的NLP,有一套视线理论,认为人在产生喜欢、厌恶这两种情感的时候,眼神的方向是无意识的,但却是特定的。

所以,要知道她的情感基准线,记住“喜欢”和“不喜欢”的眼神方向。

接下来,以自然的方式问一个能把她和你联结起来的问题。

比如,问她是不是想和你一起去某餐厅?这时再观察她的视线方向,是属于“喜欢”,还是“不喜欢”?你就知道,她是不是真心想和你约会了。

做一个徘徊在牛A和牛C之间的人

做一个徘徊在牛A和牛C之间的人

做一个徘徊在牛A和牛C之间的人1.室友放了个断断续续的屁,另一哥们无奈的说:“好好一个响屁,让你崩个稀碎”2.为了将来我的孩纸不输在起跑线上,我现在就给他挂Q。

3.人的桃花运,跟生理周期一样,都是一阵一阵的。

4.怀孕少女的心理活动:我妈会杀了我的!胎儿的心理活动:我妈会杀了我的!5.最有魄力的是康师傅,每天都有成千上万的人泡他。

6.你若安好,便是晴天,按这天气看来,你应该是挂了。

7.一个人去医院看医生,医生让其躺下用手按压他腹部,问他:“你有什么感觉?”“我感觉有人在按我的肚子”。

8.爱情是路,朋友是猪,人生只有一条路,路上却有许多猪。

9.我决定了,正月十五早上卖汤圆,中午卖玫瑰,晚上卖电影票,深夜卖避孕套,第二天早上卖避孕药,想想都好激动,我这是要发了的节奏阿!10.韩国整容,泰国人妖,其实都比不过中国的美图秀秀。

11.下辈子做只考拉,每天睡觉20个小时,吃2个小时,发呆2个小时,这才是完美人生啊!12.穿别人的鞋走别人的路,让别人既找不到鞋又找不到路。

13.横溢的不只是才华,还有腰间的脂肪。

14.地球熄灯一小时一点都不节约,熄灯一小时可以造出多少人来啊。

15.年前把“过完年再说吧”当做口头禅的人,年后都换成了“再说吧,这才刚过完年呢”。

16.暑假作业我已经摊在阳台上了,台风你自己看着办吧。

17.在家的时候发烧还会坚持上网,上学的时候打个喷嚏都会觉得是癌症晚期。

18.做一个徘徊在牛A和牛C之间的人。

19.和现任女友拍亲密照上传空间,取名:配不?前女友第一回复:呸!……20.发呆这事做得好是深沉,做不好就睡着了。

21.月老,能别再用劣质的红线帮我牵线了吗,尼玛,隔三差五就断。

22.流量强奸了话费,生下了一个孽种叫停机。

23.小时候,我最喜欢玩捉迷藏,等别人藏好了,我就回家吃饭。

24.你现在不喜欢我没关系,以后我让我儿子泡你女儿!25.如果多吃鱼可以补脑让人变聪明的话,那么我至少得吃一对儿鲸鱼。

怎么写一个简单的c语言程序

怎么写一个简单的c语言程序

怎么写一个简单的c语言程序
怎么写一个简单的c语言程序
我们知道,对于一个刚刚接触到c语言的人来说,写一个hello的程序老说,就是很难,这里店铺根据自己的学习和一个操作经验,希望对你有所帮助。

1:写好头文件:
一般的情况下,基本都会带有三个头文件,这是编译系统自带的`头文件,我们一般都会使用到的:
#include <stdio.h> :标准输入输出文件库
#include <stdlib.h>:标准文件操作库
#include <string.h>:字符处理函数库
2:每个程序里都包含有一个mian函数:
int main()
{
int a = 1;
int b = 2;
int c = 0;
c = func(a,b);
printf("%d",c);
return 0;
}
3:一般每个程序里都有一些函数:
这里我们举一个基本的函数的例子:
int func(int iPram1, int iPram2)
{
return iPram1+iPram2;
}
这个函数的作用是把参数传入的值,进行相加,然后,返回相加后的值。

【怎么写一个简单的c语言程序】。

C语言编写一个计算器界面(可视化界面和多功能)

C语言编写一个计算器界面(可视化界面和多功能)

C语⾔编写⼀个计算器界⾯(可视化界⾯和多功能)⽬录引⾔计算器总结引⾔在⼤学期间,C 语⾔或者数据结构等课程,⽼师会要求学⽣编写⼀个⼩项⽬练⼿,或者期末编写⼀个⼩软件等课程设计。

今天在电脑看到⼤⼀学C语⾔时,实验课上写的计算器功能,挺有意思。

所以在此分享给学C语⾔的学弟学妹,记得收藏保留!计算器简单版本计算器,主要实现的是简单两个数的加法,减法,乘法,除法,求余功能。

⽤户可以在主菜单选择需要计算的功能,然后根据⽤户输⼊的数字,进⾏计算,输出结果。

⾸先,我们定义五个⽅法,实现两个数的加法,减法,乘法,除法,求余功能。

代码如下:// 加法float add(float a, float b) {return a + b;}// 减法float sub(float a, float b) {return a - b;}// 乘法float mul(float a, float b) {return a * b;}// 除法float mod(float a, float b) {return a / b;}// 求余int com(int a, int b) {return a % b;}然后定义⼀个打印主菜单界⾯的函数,使⽤简介美观的菜单界⾯,供⽤户选择要计算的功能,代码如下:// 打印主功能菜单void printMenu() {// 清屏// system("cls");printf("|----------------------- 计算器 -----------------------|\n");printf("| |\n");printf("| By -- 陈⽪的JavaLib |\n");printf("| |\n");printf("|---------------------- 1:加法 -----------------------|\n");printf("|---------------------- 2:减法 -----------------------|\n");printf("|---------------------- 3:乘法 -----------------------|\n");printf("|---------------------- 4:除法 -----------------------|\n");printf("|---------------------- 5:求余 -----------------------|\n");printf("|---------------------- 6:退出 -----------------------|\n");printf("| |\n");printf("|----------------------- 计算器 -----------------------|\n");}最后,我们在主函数 main 中,定义⼀个 while 循环代码块,不断读取⽤户输⼊的内容,进⾏数字计算,代码如下:int main() {// 选择的功能int select = 0;// 定义算术的两个数float a, b;while (select != 6){select = 0;// 打印主菜单printMenu();// 只允许选择菜单栏内的数字,不是则重新选择while (select < 1 || select > 6) {printf("请输⼊菜单功能(1-6):");scanf("%d", &select);}if (6 == select) {printf("\n|----------------- 欢迎使⽤计算器!再见!-----------------|\n"); return 0;}printf("\n请输⼊两个数(⽤空格隔开两个数):");scanf("%f %f", &a, &b);switch (select) {case 1:printf("%f+%f=%f\n\n", a, b, add(a, b));break;case 2:printf("%f-%f=%f\n\n", a, b, sub(a, b));break;case 3:printf("%f*%f=%f\n\n", a, b, mul(a, b));break;case 4:printf("%f/%f=%f\n\n", a, b, mod(a, b));break;case 5:printf("%f/%f=%d\n\n", a, b, com((int)a, (int)b));break;case 6:default:break;}}}下⾯我们演⽰⼏个例⼦,能更加直观体验计算器的功能:菜单功能选择错误,会提⽰重新选择加法除法退出简单版本计算器,完整代码如下:#include <stdio.h>#include <stdlib.h>// 加法float add(float a, float b) {return a + b;}// 减法float sub(float a, float b) {return a - b;}// 乘法float mul(float a, float b) {return a * b;}// 除法float mod(float a, float b) {return a / b;}// 求余int com(int a, int b) {return a % b;}// 打印主功能菜单void printMenu() {// 清屏// system("cls");printf("|----------------------- 计算器 -----------------------|\n");printf("| |\n");printf("| By -- 陈⽪的JavaLib |\n"); printf("| |\n");printf("|---------------------- 1:加法 -----------------------|\n");printf("|---------------------- 2:减法 -----------------------|\n");printf("|---------------------- 3:乘法 -----------------------|\n");printf("|---------------------- 4:除法 -----------------------|\n");printf("|---------------------- 5:求余 -----------------------|\n");printf("|---------------------- 6:退出 -----------------------|\n");printf("| |\n");printf("|----------------------- 计算器 -----------------------|\n");}/*** 简单版本计算器功能 By -- 陈⽪的JavaLib* @return*/int main() {// 选择的功能int select = 0;// 定义算术的两个数float a, b;while (select != 6){select = 0;// 打印主菜单printMenu();// 只允许选择菜单栏内的数字,不是则重新选择while (select < 1 || select > 6) {printf("请输⼊菜单功能(1-6):");scanf("%d", &select);}if (6 == select) {printf("\n|----------------- 欢迎使⽤计算器!再见!-----------------|\n");return 0;}printf("\n请输⼊两个数(⽤空格隔开两个数):");scanf("%f %f", &a, &b);switch (select) {case 1:printf("%f+%f=%f\n\n", a, b, add(a, b));break;case 2:printf("%f-%f=%f\n\n", a, b, sub(a, b));break;case 3:printf("%f*%f=%f\n\n", a, b, mul(a, b));break;case 4:printf("%f/%f=%f\n\n", a, b, mod(a, b));break;case 5:printf("%f/%f=%d\n\n", a, b, com((int)a, (int)b));break;case 6:default:break;}}}总结在⼤学期间,如果是计算机类的专业,⼀般都会学习 C 语⾔,作为编程⼊门语⾔,⼤家⼀定要学习好此门语⾔,⽽且如果学好了,其实学习其他编程语⾔就很容器上⼿的,不同语⾔其实⼤同⼩异,只要你编程思维提升了,基础语法掌握了,才能学习更加深⼊的知识。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

原标题:薪酬这点事儿——C&B的成长路~~作者:sunshine_dan转自:篱笆网*************************************************************************** 我是HR,在金融行业的C&B领域厮混N年,最近终于有望Manager了(多年的媳妇熬成婆,不容易呀不容易~~),算是新的起点,也想来做个总结。

工作这么久,我几乎做过了HR所有的工作,招聘、员工关系、薪酬福利、绩效等等,每项都可以讲些心得出来;但做得最久最有兴趣的,就是薪酬福利(C&B)。

C&B是做什么的?我问过几个参加工作不久的小朋友,声音最一致的是:发工资的!想了想,再补充一句:交五金的~~。

事实上,发工资只是薪酬福利管理中最最基本、最最简单的工作而已,而且因为它的简单,越来越多的公司把它交给外服公司去做了。

很多人跟我说过C&B很神秘,他们多数不太说话,也不太谈自己的工作;其实C&B们不是天生冷漠,拒人千里;只是因为多数公司规定薪酬保密(类似制造业的普工统一标准的职位或完全靠业绩吃饭的某些销售人员除外)——通常情况在一个公司里,我们只知道自己薪酬,最多是跟关系不错的同事私下交流;除了老板、HRD以外,只有C&B能看到所有人的收入,而同样基于保密的原因,C&B们自然会对自己的工作守口如瓶,行事低调。

那么,为什么要保密薪酬涅??公司说:不能让竞争对手知道我们支付的薪酬,不然他们会很容易花高价挖走我们的人,给公司带来巨大损失。

实际上,还有另外一个更重要的原因:薪酬这件事,永远都只能是相对公平,而做不到绝对公平:拿5000块的人会想凭什么他拿8000块?拿8000块的那个人想凭什么另外一个人拿10000块?拿最高薪酬的那个人想,我比第二个人付出多多了,凭什么只比他多2000块想一下,如果公司里每个人都知道身边人的收入,相信每个人都会有强烈的不满心理,首当其中承受压力的就是老板和C&B 。

“不患穷而患不均”,这是人的天性,老祖宗很多年前就说过。

所以薪酬这件事,知道的人越少越好,C&B做薪酬的人要越低调越好,……或许等我们实现了共产主义,大约薪酬就不需要保密了——哦,那时候应该没有薪酬这一说了吧。

我一般把C&B的成长过程分为4个阶段:第一阶段:手中有剑心中有剑(工作1-2年)这个阶段的C&B主要的工作是:计算、发放薪资,缴纳社保,发放各种福利;做各类报表和简单数据分析等等;基本就是整天跟一堆数字打交道,我们叫入门小朋友“表弟表妹”。

哦,还有解答员工对于薪酬的各种疑问,为员工开开收入证明之类的杂事——很抱歉我把它列为杂事,我知道对使用者来说它很重要,但就C&B的工作而言,确实只是简单的杂事,当然我也相信只有愿意把这些杂事做好的人,才会有更长远的发展。

入门的C&B要具备哪些素质呢?1. 基本知识:C&B专业知识、劳动法规、财务常识(税务、账目等)等。

呵呵,不要被吓到,后面两项只要了解与C&B相关的内容就可以;2. 基本工具:Excel、统计分析方法、E-HR系统的掌握,这些都是基本功;大量的数据处理,要保证既快又准,这是个技术活儿;3. 性格:一要细心,因为跟数字打交道,二要亲和力,员工来问奖金为什么比上个月少,谁怎么多扣了的时候,可爱的笑脸自然比冷漠的表情更容易让人接受。

至少我在过的公司,HR一直很看重员工满意度;4. 个性:一要肯吃苦,这个阶段是最枯燥的,很多工作是一个月一个月的重复,等重复了12次,一年就过去了;二是要耐得住寂寞,只有耐得住寂寞,才能培养出对数字的敏感度和严谨的态度,这两点是C&B最重要的素质。

感叹一下:我觉得HR的各个职位中,入门最苦、压力最大的就是C&B了,其他工作只要做对了那就是成绩,做错了,后果也不会太严重,也来得及补救;而C&B大量的数据处理,做对了是应该的,稍有疏忽,出现的就是大错,直接遭到投诉——对于发错薪水,大家的容忍度总是最低的。

我看到过太多小朋友在这个阶段做到崩溃……把这一阶段称为“手中有剑心中也有剑”,是想提醒这个阶段的TX,你手中会有海量的信息和工具,有无数要记得除了处理和利用它们,还尽可能去了解为什么要做这些事情——思考是前进的第一步。

第二阶段:手中有剑心中无剑(2-4年左右)在这个阶段,最有价值的变化是:你可以提出自己的建议了!经过前面1-2年或者更短时间在Payroll等基础操作上的历练,C&B们熟知了公司在薪酬方面的各种游戏规则和数据,也彻底接受了公司价值观的洗礼,所以开始能够运用规则,作出自己的判断了。

这个阶段的工作内容有了很多新鲜的东东:职位评估、职级评定、定薪建议(包括新员工入职定薪和老员工加薪建议等)等等;简单来说就是:C&B终于能够影响别人的收入了!(开心吧?兴奋吧?跃跃欲试了吧?!!)那么我们的影响力在哪里呢?以新员工入职的定薪为例:多数公司有严格的薪酬规则,但也会留出一定的灵活空间,比如某个职位只要月薪在5000-5500元/月之间,可以由这一阶段的C&B给出自己的意见、判断甚至决定。

嘿嘿,很多人没想到吧,大家的工资可能多少会受这一阶段的C&B影响,而他也许只是一个普通职员。

这个阶段,对C&B新增的要求主要有两点:1. 知识:熟练掌握各种薪酬理论和薪酬福利工具、HR其他模块的工作内容(比如招聘、绩效)、熟知其他部门的工作职责和岗位职责;2. 心态:淡定、淡定、再淡定!HR的收入肯定不是公司里最高的,在看到那么多人比自己高时,要平和,要客观,要冷静。

我们常听到这样的声音:“我每个月才5000块,某某的工作时间比我还短,凭什么拿5500块?”这是面对薪酬常见的逻辑,其他人可以用这个逻辑思考,但C&B不能!C&B必须站在公司立场,用公司的价值观进行决定和判断,而不是你自己的立场和价值观。

提到心态,我在这个阶段的时候,年薪也就10w出头,已经能够波澜不惊,把金钱当数字看了,神马年薪百万、千万,都是浮云、浮云。

这样应该可以称得上这个阶段的特点了——手中有剑、心中无剑。

另外,还有个建议是给HR之外的TX们的:大家真的很有必要弄清楚公司里谁是这个阶段的C&B或是在做类似的事情,哪怕你的LEVEL比他高,也千万对他态度好点儿,有时侯他的一念之差,就会让你的薪资多那么一点点或少那么一点点:)当然我相信大多数的C&B还是客观公平的。

第三阶段手中无剑心中有剑:(5-N年)哪位C&B童鞋做到了这一级,恭喜你,你开始拥有了作为C&B的核心竞争力。

这一阶段要做的事情是:搭建各种薪酬体系、制定各种规则和制度,保证支持整个公司的高效运转——通俗地说,就是你开始制定游戏规则了!而这部分规则是不同公司之间C&B 的核心差异,而能够根据公司所在行业、发展阶段以及市场变化,提供最适合的游戏规则,才是C&B对一个公司的核心价值!前面之所以说5-N年,是因为不是所有HR都能遇到这样的机会,也有很多公司会把这样的事完全交给咨询公司做,自己公司的C&B反而并不参与;(我的经验是:咨询公司对公司了解不深,做出的东西不一定是最合适的,而且就算他们做出来了,也是C&B实施而且随时修正的;所以最好是借助咨询公司的视角,由自己的C&B主导进行)。

这个阶段对C&B新增的要求:1. 知识:对各种薪酬管理模式和薪酬工具了如指掌、熟练运用;熟悉公司的运营方式和盈利模式、了解市场变化和竞争对手等各种信息;2. 能力:周密的逻辑能力、全局统筹能力和判断力。

举个例子:话说前几年新加坡有家挺出名的投资公司倒闭了,为什么会倒闭呢?因为他们的客户,一群老头老太太集体到政府门口请愿要求公司退款;为什么要退款呢?因为他们买了这家公司的高风险投资产品,血本无归;为什么风险承受力低的老头老太太们会买这么高风险的投资产品呢?因为销售人员卖产品时,诱导甚至欺骗了他们;为什么销售人员敢这么明目张胆、集体欺骗客户呢?因为这个产品的风险周期及投资回报是中长期的,但bonus在短期内就可以兑现,销售人员贪图短期利益进而冒险,为了业绩无所不用其极;为什么bonus要在短期内就兑现给销售人员呢?答案揭晓——当然是bonus的规则设计出了问题,C&B严重失职。

当然一个公司倒闭的原因没有上面这么简单,但足以说明,C&B做出的所有游戏规则都会因为利益驱动,引导相应的行为,就像最开始倒下的那块多米诺骨牌;所以C&B做出的任何游戏规则都要慎而又慎,经过严谨的测算;要应该体现公司的态度和价值观:鼓励在前面一个阶段“手中有剑心中无剑”的阶段,我建议要把金钱当数字看,保持淡定心态;在这个阶段,应该做到“手中无剑心中有剑”,也就是前面芭蕉MM提到的“敬畏心”。

因为这个时候C&B工作不一定会直接影响某个人的薪酬,却可能会影响到整个公司,所以一定要把你手中的每个数字当钱看,要知道每个数字会激发什么样的行为,对公司产生什么样的后果。

当钱看,要知道每个数字会激发什么样的行为,对公司产生什么样的后果。

第四阶段手中无剑心中也无剑(N-N年)这个阶段的主题“手中无剑心中也无剑”是想说:前面所有的知识、所有的技巧,都应该成为上升为职业敏感和职业意识,成为第六感,而不再拘泥任何形式。

很玄吧?听我慢慢道来。

在开始以前,我想先分享一下C&B的概念,因为这个概念会是下面所有内容的基础。

最近几年C&B出现了“整体报酬”或者“全面薪酬”的概念,即C&B不仅仅是13薪、年终奖这样的货币化薪酬,还包括了商业保险、职业培训、食宿、工作环境,甚至发展机会、公司品牌、团队氛围等各种非货币化报酬。

也就是说C&B除了管“钱”,还要管更多内容,涵盖了员工关系、绩效激励等领域内容。

这也是为什么第一、第二阶段的“能力”部分,我有说C&B需要具备HR所有领域的基本专业知识,了解其他领域的工作内容。

另外,我认为到这一步的C&B应该至少是Mgr了,或者是HRD,有些公司甚至可能是CEO的工作内容了,这个取决于公司大小,HR的地位以及老板的授权程度。

我很幸运,得益于所在公司特殊而扁平的组织结构,在没有成为Mgr的时候,就在参与其中的部分事情了,这也成为目前我正着重修炼的阶段,这点不像前几个阶段那么驾轻就熟、游刃有余,只有一些心得,拿来跟大家探讨。

这个阶段C&B的能力标志和主要工作是:1. 视野:在第一阶段,C&B眼里看到的是数字,第二阶段看到的是游戏规则,在第三阶段看到的整个公司的运作,到了第四阶段,要看到所在公司以外:整个行业,整个市场乃至整个社会。

相关文档
最新文档