资源描述
C语言程序设计
请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
int fun (int a[][M])
{
int i,j,max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j<M;j++)
if(max<a[i][j])
max=a[i][j];
return max;
}
编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。
double fun ( double eps)
{
double s=1.0,s1=1.0;
int n=1;
while(s1>=eps) /*当某项大于精度要求时,继续求下一项*/
{s1=s1*n/(2*n+1); /*求多项式的每一项*/
s=s+s1; /*求和*/
n++;
}
return 2*s;
}
编写函数fun,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。
void fun (int *a, int *n)
{
int i,j=0;
for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/
if((i%7==0||i%11==0)&&i%77!=0)
a[j++]=i;
*n=j;
}
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:ABCDEFG。
void fun( char *a )
{
int i,j=0;
for(i=0;a[i]!='\0';i++)
if(a[i]!='*')
a[j++]=a[i]; /*若不是要删除的字符'*'则留下*/
a[j]='\0';
}
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。
例如,字符串中的内容为:"*******A*BC*DEF*G****",删除后字符串中的内容应当是:"A*BC*DEF*G****"。编写函数时,不得使用C语言提供的字符串函数。
void fun( char *a )
{
char *p=a;
while(*p=='*') p++; /*指针p指向字符串第一个字母*/
for(;*p!='\0';p++,a++)
*a=*p; /*从第一个字母开始,其后的字符都放入指针a所指的字符串中*/
*a='\0'; /*在字符串最后加上字符串结束标识*/
}
假定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了尾部的*号之外,将字符中的其它的*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容应当是ABCDEFG*******。
void fun( char *a, char *p )
{
char *t=a;
for(;t<=p;t++)
if(*t!='*')
*(a++)=*t;
for(;*t!='\0';t++)
*(a++)=*t;
*a='\0';
/*在字符串最后加上字符串结束标识*/
}
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:只删除字符前导和尾部的*号,串中字母间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中尾部*号的个数。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:"A*BC*DEF*G"。
void fun( char *a, int n,int h,int e )
{
int i,j=0;
for(i=h;i<n-e;i++) /*第一个字母和最后一个字母之间的字符全不删除*/
a[j++]=a[i];
a[j]='\0'; /*在字符串最后加上结束标识*/
}
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG。
void fun( char *a )
{
int i=0;
char *p=a;
while(*p&&*p=='*')
{
a[i]=*p;
i++;
p++;
}
while(*p)
{
if(*p!='*')
{a[i]=*p;i++;}
p++;
}
a[i]='\0';
}
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。
例如,字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:"****A*BC*DEF*G"。在编写函数时,不得使用C语言提供的字符串函数。
void fun( char *a )
{
while(*a!='\0')
a++;
a--; /*指针a指向字符串的尾部*/
while(*a=='*')
a--; /*指针a指向最后一个字母*/
*(a+1)='\0'; /*在字符串最后加上结束标志符*/
}
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。
例如,字符串中的内容为:"*******A*BC*DEF*G****",移动后,字符串中的内容应当是:"A*BC*DEF*G***********"。在编写函数时,不得使用C语言提供的字符串函数。
void fun( char *a )
{
int i=0,n=0;
char *p;
p=a;
while (*p=='*') /*判断*p是否是*号,并统计*号的个数*/
{
n++;p++;
}
while(*p) /*将前导*号后的字符传递给a*/
{
a[i]=*p;i++;p++;
}
while(n!=0)
{
a[i]='*';i++;n--;
}
a[i]='\0';
}
编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。
例如,分别输入下面两个字符串:
FirstString--
SecondString
程序输出:
FirstString--SecondString
void fun(char p1[], char p2[])
{
int i,j;
for(i=0;p1[i]!='\0';i++) ;
for(j=0;p2[j]!='\0';j++)
p1[i++]=p2[j];
p1[i]='\0';
}
某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。
例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。
void fun(STREC *a)
{
int i;
a->ave=0.0;
for(i=0;i<N;i++)
a->ave=a->ave+a->s[i]; /*求各门成绩的总和*/
a->ave/=N; /*求平均分*/
}
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。
double fun( STREC *h )
{
double ave=0.0;
STREC *p=h->next;
while(p!=NULL)
{ ave=ave+p->s;
p=p->next;
}
return ave/N;
}
编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。
例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。
void fun( int m, int *k, int xx[] )
{
int i,j,n=0;
for(i=4;i<m;i++) /*找出大于1小于整数m的非素数*/
{ for(j=2;j<i;j++)
if(i%j==0) break;
if(j<i) xx[n++]=i;
}
*k=n; /*返回非素数的个数*/
}
编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串123412132,输入字符为1,则输出3。
int fun(char *ss, char c)
{
int i=0;
for(;*ss!='\0';ss++)
if(*ss==c)
i++;/*求出ss所指字符串中指定字符的个数*/
return i;
}
编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。
例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。
float fun ( float *a , int n )
{
int i;
float av=0.0;
for(i=0; i<n;i++) /*求分数的总和*/
av=av+a[i];
return(av/n); /*返回平均值*/
}
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
int fun( STREC *a, STREC *b )
{
int i,j=0,max=a[0].s;
/*找出最大值*/
for(i=0;i<N;i++)
if(max<a[i].s) max=a[i].s;
for(i=0;i<N;i++)
if(max==a[i].s)
b[j++]=a[i]; /*找出成绩与max相等的学生的记录,存入结构体b中*/
return j; /*返回最高成绩的学生人数*/
}
编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。
例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
void fun(char *tt, int pp[])
{
int i;
for(i=0;i<26;i++)
pp[i]=0; /*初始化pp数组各元素为0*/
for(;*tt!='\0';tt++)
if(*tt>='a'&&*tt<='z')
pp[*tt-'a']++;
}
编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。
例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。
char *fun ( char *s, char *t)
{
int i,j;
for(i=0;s[i]!= '\0';i++); /*求字符串的长度*/
for(j=0;t[j]!= '\0';j++);
if(i<=j) /*比较两个字符串的长度*/
return t; /*函数返回较长的字符串,若两个字符串长度相等,则返回第1个字符串*/
else
return s;
}
学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:函数返回该学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。
STREC fun( STREC *a, char *b )
{int i;
STREC str={"\0",-1}; /*若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1*/
for(i=0;i<N;i++)
if(strcmp(a[i].num,b)==0) /*找到指定学号的学生数据*/
str=a[i];
return str; /*返回学生记录*/
}
函数fun的功能是:将s所指字符串中除下标为偶数同时ASCII码值也为偶数的字符外,其余的全部删除;字符串中剩余字符所形成的新串放在t所指的数组中。
例如,若s所指字符串中的内容为"ABCDEFG123456",其中字符A的ASCII码值为奇数,因此应当删除;字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;字符2的ASCII码值为偶数,在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是"246"。
void fun(char *s, char t[])
{
int i,j=0;
for(i=0;s[i]!='\0';i++)
if(i%2==0 && s[i]%2==0) /*将s所指字符串中下标和ASCII码值都为偶数的字符放入数组t中*/
t[j++]=s[i];
t[j]='\0'; /*在字符串最后加上结束标识*/
}
编写函数fun,其功能是:利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。
迭代步骤如下:
(1)取x1初值为0.0;
(2)x0=x1,将x1的值赋给x0;
(3)x1=cos(x0),求出一个新的x1;
(4)若x0-x1的绝对值小于0.000001,执行步聚(5),否则执行步聚(2);
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出结果Root=0.739086。
double fun()
{
double x0,x1;
x1=0.0;
do
{
x0=x1;
x1=cos(x0);
}while(fabs(x0-x1)>=1e-6);
return x1;
}
学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。
int fun( STREC *a, STREC *b )
{
int i,j=0,min=a[0].s;
for(i=0;i<N;i++)
if(min>a[i].s)
min=a[i].s; /*找出最小值*/
for(i=0;i<N;i++)
if(min==a[i].s)
b[j++]=a[i]; /*找出成绩与min相等的学生的记录,存入结构体b中*/
return j;
}
编写函数fun,其功能是计算:
s作为函数值返回。
在C语言中可调用log(n)函数求ln(n)。log函数的引用说明为:double log(double x)。
例如,若m的值为20,则fun函数值为6.506583。
double fun( int m )
{
int i;
double s=0.0;
for(i=1;i<=m;i++)
s=s+log(i); /*计算s=ln(1)+ln(2)+ln(3)+…+ln(m)*/
return sqrt(s); /*对s求平方根并返回*/
}
函数fun的功能是:将s所指字符串中下标为偶数的字符删除,剩余字符形成的新串放在t所指数组中。
例如,当s所指字符串中的内容为"ABCDEFGHIJK"时,在t所指数组中的内容应是:"BDFHJ"。
void fun(char *s, char t[])
{
int i,j=0,k=strlen(s); /*k为字符串的长度*/
for(i=1;i<k;i=i+2) /*将s所指字符串中下标为奇数的字符存入t所指字符串中*/
t[j++]=s[i];
t[j]='\0';
}
编写函数fun,其功能是:将a、b中的两个两位正整数合并成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。
例如,当a=45,b=12,调用该函数后c=2415。
void fun(int a, int b, long *c)
{
*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;
}
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。
void fun( STREC a[] )
{
int i,j;
STREC t;
for(i=1;i<N;i++) /*用冒泡法进行排序,进行N-1次比较*/
for(j=0;j<N-1;j++) /*在每一次比较中要进行N-1次两两比较*/
if(a[j].s<a[j+1].s)
{t=a[j];a[j]=a[j+1];a[j+1]=t;} /*按分数的高低排列学生的记录,高分在前*/
}
学生的记录由学号和成绩组成。N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。
double fun( STREC *a, STREC *b, int *n )
{
int i;
double av=0.0;
*n=0;
for(i=0;i<N;i++)
av=av+a[i].s;
av=av/N; /*求平均值*/
for(i=0;i<N;i++)
if(av<=a[i].s)
{ b[*n]=a[i];*n=*n+1;} /*将高于等于平均分的学生存入b所指存储单元中,并统计人数*/
return av; /*返回平均分*/
}
编写函数fun,其功能是:将1到m之间(含m)能被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。例如,若传给m的值为50,则程序输出:
7 11 14 21 22 28 33 35 42 44 49
void fun ( int m, int *a , int *n )
{
int i,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0) /*求出1到m(含m)之内能被7或11整除的所有整数放在数组a中*/
a[j++]=i;
*n=j; /*返回这些数的个数*/
}
N名学生的成绩已在主函数中放入一个带有头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:找出学生的最高分,并由函数值返回。
double fun( STREC *h )
{
double max=h->s;
while(h!=NULL) /*通过循环找到最高分数*/
{if(max<h->s) max=h->s;
h=h->next;
}
return max;
}
请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
void fun(int a[],int n, int *max, int *d)
{
int i;
*max=a[0];
*d=0;
for(i=0;i<n;i++) /*将最大的元素放入指针max所指的单元,最大元素的下标放入指针d所指的单元*/
if(*max<a[i])
{*max=a[i];*d=i;}
}
编写函数fun,其功能是:将s所指字符串中除了下标为奇数同时ASCII值也为奇数的字符之外,其余的所有字符全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。
例如,若s所指字符串的内容为:"ABCDEFG12345",其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后t所指数组中的内容应为:"135"。
void fun(char *s, char t[])
{
int i,j=0,n;
n=strlen(s);
for(i=0;i<n;i++)
if(i%2!=0&&s[i]%2!=0)
{t[j]=s[i]; /*将下标为奇数同时ASCII码值为奇数的字符放入数组t中*/
j++;
}
t[j]='\0'; /*最后加上结束标识符*/
}
编写函数fun,其功能是:实现B=A+A',即将矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。
例如,输入下面的矩阵:其转置矩阵为:
程序输出:
void fun ( int a[3][3], int b[3][3])
{
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[i][j]=a[i][j]+a[j][i];/*把矩阵a加上a的转置,存放在矩阵b中*/
}
请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。一维数 组中数据的个数存放在形参n所指的存储单元中。
例如,若二维数组中的数据为
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应是:
33 44 55 33 44 55 33 44 55 33 44 55
void fun(int (*s)[10],int *b,int *n,int mm,int nn)
{
int i,j;
for(j=0;j<nn;j++) /*将二维数组中的数据按列的顺序依次放入一维数组中*/
for(i=0;i<mm;i++)
{
b[*n]=*(*(s+i)+j);
*n=*n+1; /*通过指针返回元素个数*/
}
}
其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。
二.培训的及要求培训目的
安全生产目标责任书
为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标:
一、目标值:
1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。
2、现金安全保管,不发生盗窃事故。
3、每月足额提取安全生产费用,保障安全生产投入资金的到位。
4、安全培训合格率为100%。
二、本单位安全工作上必须做到以下内容:
1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。
2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。
3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。
4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。
5、在公司及政府的安全检查中杜绝各类违章现象。
6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。
7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。
8、虚心接受员工提出的问题,杜绝不接受或盲目指挥;
9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。
10、必须按规定对单位员工进行培训和新员工上岗教育;
11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。
三、 安全奖惩:
1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。
2、每月接受主管领导指派人员对安全生产责任状的落
展开阅读全文