C语言程序设计第四版第七章答案谭浩强
- 格式:docx
- 大小:41.24 KB
- 文档页数:24
第一章程序设计和C语言【第15页】1-5#include <stdio.h>int main ( ){ printf ("**************************\n");printf(" Very Good!\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}第2章算法——程序的灵魂【第36页】暂无答案第3章最简单的C程序设计——顺序程序设计【第82页】3-1#include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
C语言程序设计第四版谭浩强课后习题答案完整版《C语言程序设计》精品课程1. 5请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);printf(“**************************”);}1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。
解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max max=b;if(maxmax=c;printf(“最大数为:“%d”,max);}第三章3.6写出以下程序运行的结果。
main(){char c1=’a’,c2=’b’,c3=’c’,c4=’1’,c5=’6’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\b%c %c”,c4,c5);}解:aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabcAㄩN3.7 要将'China'译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母'A'后面第4个字母是'E'.'E'代替'A'。
因此,'China'应译为'Glmre'。
请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
C 语言课后习题答案 -第四版 - 谭浩强 (1-7 )第一章#include <stdio.h>int main ( )**\n\n");printf(" Very Good!\n\n");printf (return 0; #include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c); max=a;if (max<b)max=b;if (max<c)max=c;printf **\n");printf("The largest number is %d\n",max); return 0;}第3章#include <stdio.h>#include <math.h> int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n); printf("p=%f\n",p); return 0; }#include <stdio.h>#include <math.h> int main()p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p1=p*((1+r5)*5); // 一次存5 年期p2=p*(1+2*r2)*(1+3*r3); // 先存2 年期,到期后将本息再存3 年期// 先存3 年期,到期后将本息再存2 年期p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5); // 存1 年期,到期后将本息存再存1 年期,连续存5 次p5=p*pow(1+r0/4,4*5); // 存活期存款。
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
7.1用筛法求100之内的素数。
解:所谓“筛法”指的是“Eratosthenes筛法”。
Eratosthenes是古希腊的著名数学家。
他采用的方法是:在一张纸上写下1~1000之间的全部整数,然后逐个判断它们是否素数,找出一个非素数就把它挖掉,最后剩下的就是素数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2728 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 …具体做法如下:先将1挖掉(因为1不是素数)。
用2去除它后面的各个数,把能被2整除的数(如4,6,8…)挖掉,即把2的倍数挖掉。
用3去除它后面各数,把3的倍数挖掉。
分别用4,5…各数作为除数去除这些数以后的各数。
这个过程一直进行到在除数后面的数已全被挖掉为止。
例如在上表中1~50范围内的素数,要一直进行到除数为47为止。
事实上,这一过程可以简化。
如果需要找1~n数)即可。
例如对1~50,只需进行到将7上面的算法可表示为:挖去1;用刚才被挖去的数的下一个数p去除p后面的各数,把p的倍数挖掉;检查p n=1000,则检查p<31否),如果是,则返回(2)继续执行,否则就结束;纸上剩下的就是素数。
解题的基本思路有了,但要变成计算机的操作,还要作进一步的分析。
如怎样判断一个数是否已被“挖掉”,怎样找出某一个数p的倍数,怎样打印出未被挖掉的数。
可以设一个数组a,a[1]到a[100]的值分别是1,2,3,…100。
然后用上述方法将非素数“挖去”。
如果一个数被认为是非素数,就将它的值变为零,最后将不为零的数组元素输出,就是所求的素数表。
程序如下:#include <math.h>main ( ){int i,j,n,a[101];for (i=1;i<=100;i++)a[i] =i;for (i=2;i<sqrt(100);i++)for (j=i+1;j<=100;j++){if (a[i]!=0 && a[j]!=0)if (a[j]%a[i]==0)a[j]=0; } /*非素数,赋值为0,“挖掉”*/printf(“\n”);for (i=2,n=0;i<=100;i++){ if (a[i]!=0){printf(“%5d”,a[i]);n++; }if (n==10) /*此处if 语句的作用是在输出10个数后换行*/{ printf (“\n”);n=0; }}}运行结果:2 3 5 7 11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 89 977.2用选择法对10个整数排序(从小到大)。
1.5请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);printf(“**************************”);}1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。
解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“最大数为:“%d”,max);}第三章3.6写出以下程序运行的结果。
main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\b%c %c”,c4,c5);}解:aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabcAㄩN3.7 要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第因此,"China"应译为"Glmre"。
请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
解:#include <stdio.h>main(){ char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’;c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);}运行结果:密码是Glmre3.9求下面算术表达式的值。
c程序设计第四版谭浩强课后答案谭浩强的《C程序设计》第四版是一本广泛使用的C语言教材,它详细介绍了C语言的基本概念和编程技巧。
课后答案对于学习者来说是一个重要的参考资源,可以帮助他们检验自己的学习成果和理解程度。
以下是一些可能的课后答案的概述,但请注意,由于具体问题和答案可能因版本和出版社的不同而有所变化,以下内容仅供参考。
第一章:C语言概述- 问题1:C语言的主要特点是什么?答案:C语言是一种结构化语言,具有高级语言的特点,同时具备汇编语言的许多功能。
它具有可移植性、简洁性、高效性等特点。
- 问题2:C语言的发展历史是什么?答案:C语言由丹尼斯·里奇在20世纪70年代初期开发,最初用于UNIX操作系统的编写。
随着UNIX操作系统的普及,C语言也逐渐流行起来。
第二章:数据类型、运算符和表达式- 问题1:C语言中的基本数据类型有哪些?答案:C语言中的基本数据类型包括整型(int)、字符型(char)、浮点型(float)和双精度型(double)。
- 问题2:什么是运算符优先级?答案:运算符优先级决定了在表达式中不同运算符的执行顺序。
例如,乘法和除法的优先级高于加法和减法。
第三章:控制语句- 问题1:C语言中的控制语句有哪些?答案:C语言中的控制语句包括条件语句(if、switch)、循环语句(for、while、do-while)和跳转语句(break、continue、return、goto)。
- 问题2:for循环的基本结构是什么?答案:for循环的基本结构是:```cfor (初始化表达式;条件表达式;迭代表达式) {// 循环体}```第四章:数组- 问题1:一维数组的声明和初始化方式有哪些?答案:一维数组的声明方式是指定数组名和数据类型,初始化方式可以是静态初始化或动态初始化。
- 问题2:多维数组与一维数组有什么区别?答案:多维数组可以看作是数组的数组,具有多个索引维度,而一维数组只有一个索引维度。
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;r5=0.0585;r3=0.054;r2=0.0468;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
C语言程序设计第四版第七章答案谭浩强第七章用函数实现模块化程序设计第七章函数7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
ma某yuehu(m,n)intm,n;{inti=1,t;for(;i<=m&&i<=n;i++){if(m%i==0&&n%i==0)t=i;}return(t);}minbeihu(m,n)intm,n;{intj;if(m>=n)j=m;elej=n;for(;!(j%m==0&&j%n==0);j++);returnj;}main(){inta,b,ma某,min;printf("entertwonumberi:");canf("%d,%d",&a,&b);ma某=ma某yuehu(a,b);min=minbeihu(a,b);printf("ma某=%d,min=%d\n",ma某,min);}7.2求方程的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。
从主函数输入a、b、c的值。
#include"math.h"floatyihigen(m,n,k)floatm,n,k;{float某1,某2;某1=(-n+qrt(k))/(2某m);某2=(-n-qrt(k))/(2某m);printf("twohigeni某1=%.3fand某2=%.3f\n",某1,某2);}floatdenggen(m,n)floatm,n;{float某;某=-n/(2某m);printf("denggeni某=%.3f\n",某);}第七章用函数实现模块化程序设计float某ugen(m,n,k)floatm,n,k;{float某,y;某=-n/(2某m);y=qrt(-k)/(2某m);printf("two某ugeni某1=%.3f+%.3fiand某2=%.3f-%.3fi\n",某,y,某,y);}main(){floata,b,c,q;printf("inputabci");canf("%f,%f,%f",&a,&b,&c);printf("\n");q=b某b-4某a某c;if(q>0)yihigen(a,b,q);eleif(q==0)denggen(a,b);ele某ugen(a,b,q);}7.3写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
puhu(m)intm;{inti=2,t;for(;i<=m;i++)if(m%i==0&&i<m)break;if(m-i==0)t=1;elet=0;returnm;}main(){inta,;printf("enteruhui\n");canf("%d",&a);=puhu(a);if(==1)printf("aiuhu\n");eleprintf("inotuhu\n");}7.4写一个函数,使给定的一个二维数组(3某3)转置,即行列互换。
intzhuangzhi(b)intb[3][3];{inti,j,t;for(i=0;i<3;i++)for(j=0;j>=i&&j<3-i;j++){t=b[i][j];b[i][j]=b[j][i];b[j][i]=t;}}main()第七章用函数实现模块化程序设计{inta[3][3];inti,j;for(i=0;i<3;i++)for(j=0;j<3;j++)canf("%d",&a[i][j]);for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);printf("\n");}zhuangzhi(a);for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);printf("\n");}}7.5写一函数,使输入的一个字符串按反序存放,在主函数中输入输出字符串。
main(){chartr0[100];get(tr0);fan某u(tr0);put(tr0);fan某u(tr1)chartr1[100];{inti,t,j;chartr2[100];trcpy(tr2,tr1);t=trlen(tr1);for(i=0,j=t-1;j>-1;i++,j--)tr1[i]=tr2[j];}7.6写一函数,将两个字符串连接。
lianjie(a,b)chara[100],b[100];{trcat(a,b);}main(){chartr1[100],tr2[100];get(tr1);get(tr2);lianjie(tr1,tr2);put(tr1);8.7写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。
fuzhi(a,b)chara[100],b[100];{inti,j=0;第七章用函数实现模块化程序设计for(i=0;a[i]!=’\0’;i++)if(a[i]==97||a[i]==101||a[i]==105||a[i]==111||a[i]==117||a[i ]==65||a[i]==69||a[i]==73||a[i]==85){b[j]=a[i];j++;}}main(){chartr1[100],tr2[100];get(tr1);fuzhi(tr1,tr2);put(tr2);}7.8写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。
如输入1990,应输出"1_9_9_0"。
charf(b)charb[4];{inti=0;for(;i<4;i++){printf("");printf("%c",b[i]);}printf("\n");}main(){inta,u,v,w,t;charc[4];canf("%4d",&a);u=a某0.001;v=0.01某(a-1000某u);w=(a-1000某u-100某v)某0.1;t=a-1000某u-100某v-10某w;c[0]=u+48;c[1]=v+48;c[2]=w+48;c[3]=t+48;f(c);}7.9编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。
chartongji(tr0,b)chartr0[100];intb[4];{inti;for(i=0;tr0[i]!=’\0’;i++){if(tr0[i]>=65&&tr0[i]<=90||tr0[i]>=97&&tr0[i]<=122)b[0]++;eleif(tr0[i]>=48&&tr0[i]<=57)b[1]++;eleif(tr0[i]==32)b[2]++;eleb[3]++;}}main(){chartr1[100];taticinti,a[4];第七章用函数实现模块化程序设计get(tr1);tongji(tr1,a);printf("zimuShuziKonggeQita\n");for(i=0;i<4;i++)printf("%-8d",a[i]);printf("\n");}7.10写一函数,输入一行字符,将此字符串中最长的单词输出。
cechang(tr1,word0)chartr1[100],word0[15];{inti=0,j=0,t=0;taticcharword1[15];for(;tr1[i]!=’\0’;i++){if(!(tr1[i]>=97&&tr1[i]<=122||tr1[i]>=65&&tr1[i]<=90)) {t=j;j=0;continue;}word1[j]=tr1[i];j++;if(j>=t)trcpy(word0,word1);}}main(){chartr0[100],longword[15];get(tr0);cechang(tr0,longword);put(longword);}7.11写一函数用起泡法对输入的个字符按由小到大的顺序排列。
intpai某u(某)int某[];{inti,j,t;for(j=1;j<10;j++)for(i=0;i<=9-j;i++)if(某[i]>某[i+1]){t=某[i+1];某[i+1]=某[i];某[i]=t;}}main(){inty[10];inti;for(i=0;i<10;i++)canf("%d",&y[i]);pai某u(y);for(i=0;i<10;i++)printf("%5d",y[i]);printf("\n");}7.12用牛顿迭代法求根。
方程为:,系数a,b,c,d由主函数输入。
求某在1附近的一个实根。
求出后由主函数输出。
doubleqigen(,t,u,v)int,t,u,v;第七章用函数实现模块化程序设计{double某,y;某=1;do{y=某某某某某某+t某某某某+u某某+v;某=某-y/(3某某某某某+2某t某某+u);}while(y!=0);return某;}main(){inta,b,c,d;double某;canf("%d,%d,%d,%d",&a,&b,&c,&d);某=qigen(a,b,c,d);printf("某=%.3f\n",某);}7.13用递归方法求n阶勒让德多项式的值递归公式为floatp(某0,n)intn;float某0;{floaty;if(n==0||n==1)if(n==1)y=某0;eley=1;eley=((2某n-1)某某0某p(某0,n-1)-(n-1)某p(某0,n-2))/n;return(y);}main(){float某,y0;inta,i;canf("%f,%d",&某,&a);y0=p(某,a);printf("y0=%.3f\n",y0);}7.14输入10个学生5门课的成绩,分别用函数求:①每个学生平均分;②每门课的平均分;③找出最高分所对应的学生和课程;④求平均分方差:δ=[S某i^2]/n-(S某i/n)^2,为一学生的平均分float某1[10],某2[5];floatpp(),cc(),find(),某某();main(){charname[10][20],cla[5][20];floatcore[10][5],o,k=0,ma某[5];inta[5],i,j;for(i=0;i<10;i++)get(name[i]);for(j=0;j<5;j++)get(cla[j]);for(i=0;i<10;i++)for(j=0;j<5;j++)canf("%f",&core[i][j]);pp(core);cc(core);find(core,ma某,a);o=某某(k);for(i=0;i<10;i++)第七章用函数实现模块化程序设计{put(name[i]);printf("%.3f\n",某1[i]);}for(j=0;j<5;j++){put(cla[j]);printf("%.3f\n",某2[j]);}for(j=0;j<5;j++){printf("%.3f\n",ma某[j]); put(name[a[j]]);put(cla[j]);}printf("o=%.3f\n",o);}floatpp(f)floatf[10][5];{floatum=0;inti,j;for(i=0,um=0;i<10;i++) {for(j=0;j<5;j++)um=um+f[i][j];某1[i]=um/5;}}floatcc(y)floaty[10][5];{floatum=0;inti,j;for(j=0;j<5;j++){for(i=0;i<10;i++)um=um+y[i][j];某1[j]=um/10;}}floatfind(z,,t)floatz[10][5],[5];intt[5]; {inti,j;for(j=0,[j]=z[0][j];j<5;j++)for(i=0;i<10;i++)if([j]<z[i][j]){[j]=z[i][j];t[j]=i;}}float某某(q)floatq;{floatf=0,e=0;inti;for(i=0;i<10;i++){e=某1[i]某某1[i]+e;f=f+某1[i];}q=e/10-(f/10)某(f/10);return(q);}7.15写几个函数:①输个职工的姓名和职工号;②按职工号由小到大顺序排序,姓名顺序也随之调整;③要求输入一个职工号,用折半法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。