C语言经典实例


C 语言学习经典实例 1 第一章 基础知识练习 程序一:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 #include main() { int a,b,c,; for(i=100;i<=999;i++) { a=i/100; b=i/10%10; c=i%10; if((a*a*a+b*b*b+c*c*c)==i) printf("%d,",i); } } 结果:153 370 371 407  程序二:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5 main() { int a,k=0,i; char b[100]; scanf("%d",&a); printf("%d=",a); for(i=2;i<=a;i++) { do {if(a%i==0) { b[k]=i;k++; a=a/i; } else break; } while(a>=i); } for(i=0;i<2*k-1;i++) if(i%2==0) printf("%d",b[i/2]); else printf("*"); } 48 48=2*2*2*2*3 2 程序三:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 #include main() { int a,b,x,y,r,t; scanf("%d,%d",&a,&b); printf("%d %d\n",a,b); x=a; y=b; if(x>y) { t=y;y=x;x=t;} do {r=y%x; y=x;x=r; } while(r!=0); printf("%d ",y); printf("%d",a*b/y); } 25,30 25 30 5 150 第二章 数组的简单应用 程序四:判断 101-200 之间有多少个素数,并输出所有素数。所谓素数:仅能被 1 和它本身 整除的数。 #include main() {int a,b,i,j,k,s=0,n=0; int c[100]; for(i=10;i<=30;i++) { k=0; for(j=2;j<=i/2;j++) { b=i%j; if(b==0) k=1; } if(k==0) { s++; c[n]=i; n++; 3 } } printf("%d\n",s); for(i=0;i main() { int f1,f2,f3,i,j; f1=1;f2=1; printf("%d %d ",f1,f2); for(i=1;i<=20;i++) { f3=f1+f2; f1=f2; f2=f3; printf("%d ",f3); for(j=1;j<=20;j++) { if(i==5*j-2) printf("\n"); } } } 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 程序六:求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时共有 5 个数 相加),几个数相加有键盘控制。 main() { int count,i,sum,t,a; scanf("%d",&count); scanf("%d",&a); 4 t=a;sum=0; for(i=1;i<=count;i++) { sum=sum+t; t=10*t+a; } printf("%3d",sum); } 3 5 615 程序七:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3.编程 找出 1000 以内 的所有完数。 main() {int i,j,s,b[100],n,l; for(i=1;i<=1000;i++) { s=0;n=0; for(j=1;j main() {int i; float t,s=0,h1,h=100; for(i=1;i<=3;i++) { t=3/2.0*h; s=s+t; t=t*1/2.0; h=h/2.0; 5 h1=h; } printf("%3.2f %3.2f",s-1,h1); } 250.00 12.50 程序九:求 的近似值,最后一项绝对值小于 为止。 610  /4 约为 1-1/3+1/5-1/7+…… #include main() {float s=0,t=1,i=1; /t 必须定义为实数/ int n=1; while((fabs(t))>1e-6) { s=s+t; n=n+2; i=-i; t=i/n; } s=s*4; printf("%10.3f\n",s); } 3.14159 程序十:求 2/1,3/2,5/3,8/5,13/8,21/13……前 10 项和 main() {float s=0,t,a=1,b=2,c; int i; for(i=1;i<=10;i++) { t=b/a; printf("%f ",t); s=s+t; c=a; a=b; b=b+c; } printf("%10.3f",s); } 2.000000 1.500000 1.666667 1.600000 1.625000 1.615385 1.619048 1.617647 1.618182 1.617977 16.480 第三章 特殊图形的设计 程序十一:打印图形 main() 6 {int i,j; for(i=0;i<=6;i++) {for(j=0;j<=6;j++) {if(j<=(9-i)&&(j<=i+3)&&(j>=3-i)&&(j>=i-3)) printf("*"); else printf(" ");} printf("\n");} } * *** ***** ******* ***** *** * 程序十二:用牛顿迭代法求方程在 1.5 附近的根。 2x³-4x²+3x-6=0 #include main() { float x,x0,f,f1,t; int n=0; x0=1.5; do { f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; t=x0; x=x0-f/f1; n++; x0=x; printf("%1.4f %d\n",x,n); } while(fabs(x-t)>=1e-6) ; } 2.3333 1 2.0610 2 2.0026 3 2.0000 4 2.0000 5 2.0000 6 程序十三:求   200 1 ! k k 7 main() { long int t=1,s,i; s=0; for(i=1;i<=20;i++) {t=t*i; s=s+t; } printf("%ld\n",s); } 268040729 第四章字符及字符串函数 程序十四:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 #include main() { char c; int l,s,d,t; l=0;s=0;d=0;t=0; c=getchar(); while(c!='\n') { if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) l++; else if(c==' ') s++; else if(c>='0'&&c<='9') d++; else t++; c=getchar(); } printf("%2d %2d %2d %2d",l,s,d,t); } kljh95682k []\=' 5 3 5 5 程序十五:取一个整数 a 从右端开始的 4~7 位。程序分析:可以这样考虑:(1)先使 a 右移 4 位。 (2)设置 一个低 4 位全为 1,其余全为 0 的数。可用~(~0<<4) (3)将上面二者进行&运算。 程序十六:用冒泡法对数组从小到大排序。 main() {int a[10],i,j,t; for(i=0;i<10;i++) 8 scanf("%d ",&a[i]); for(i=0;i<10;i++) for(j=i;j<10;j++) if(a[j] main() {char string[81]; int n=0,w=0,i; char c; gets(string); for(i=0;(c=string[i])!='\0';i++) { if(c==' ') w=1; else w=0; if(w==1) n++; } n++; printf("%d\n",n); } I am a boy 4 Today is thursday 3 程序十八:将一个数组按逆序存放: #include main() { int i,t; int b[10]={1,6,5,2,8,9,3,4,0,7}; for(i=0;i<10/2;i++) {t=b[i]; b[i]=b[10-1-i]; b[10-1-i]=t;} for(i=0;i<10;i++) 9 printf("%d,",b[i]); } 7,0,4,3,9,8,2,5,6,1, 程序十九:已有一个排好的数组,按顺序插入一个数 main() {int i,j,k,m,a=2; int b[10]={4,5,8,9,12,14,15,17,19},c[10]; if(a>b[8]) {c[9]=a; for(i=0;i<9;i++) c[i]=b[i];} else {for(i=0;i<8;i++) if(a>b[i]&&ab[8]) {c[9]=a; for(i=0;i<9;i++) c[i]=b[i];} else {for(i=0;i<8;i++) if(a>b[i]&&ab[8]) {c[9]=a; for(i=0;i<9;i++) c[i]=b[i];} else {for(i=0;i<8;i++) if(a>b[i]&&a main() {int i,j; char a[10][10]; for(i=0;i<10;i++) 11 for(j=0;j<10;j++) { a[i][0]=1; if(i==j) a[i][j]=1; else if((i>j)&&(j!=0)) a[i][j]=a[i-1][j-1]+a[i-1][j]; else a[i][j]=' '; } for(i=0;i<10;i++) {for(j=0;j<10;j++) if(i>=j) printf("%d ",a[i][j]); else printf("%c ",a[i][j]); printf("\n"); } } 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 程序二十一:将两个字符串连接起来。 #include main() {int i,c1; char str[20]={"People's Republic of"}; char str1[20]={" China"},str2[50]; c1=strlen(str); for(i=0;i main() {char str[80],str3[80]; char str1[26]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"}; char str2[26]={"abcdefghijklmnopqrstuvwxyz"}; int i,j,l; strcat(str1,str2); gets(str); l=strlen(str); for(i=0;i='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) {for(j=0;j<52;j++) {if(str[i]==str1[j]) {if(j>=0&&j<25) str3[i]=str1[25-j]; else str3[i]=str1[51-j+26]; } else ; } /此空操作与句很重要/ } else str3[i]=str[i]; } puts(str3); printf("\n"); } What's your name? My name is Bland14. Dszg'h blfi mznv? Nb mznv rh Yozmw14. 程序二十三:用选择法将数个数数组排序 main() { int a[10],i; void sort(int array[],int n); for(i=0;i<10;i++) scanf("%d",&a[i]); sort(a,10); for(i=0;i<10;i++) printf("%d ",a[i]); } void sort(int array[],int n) 13 { int i, j, k,t; for(i=0;i 14 main() {int word=0,i,l,k,max=0,count=0; char str[100]; gets(str); l=strlen(str); for(i=0;imax) {max=count; k=i;count=0;} else count=0;} } if(count>max) {max=count; k=l-1; } for(i=k-max;i int max=0; int zcdc(char str[900]) {int word=0,i,l,k,count=0; l=strlen(str); for(i=0;imax) {max=count; k=i;count=0;} else count=0;} } if(count>max) {max=count; k=l-1; 15 } return(k); } main() {int i,k; char str1[900]; gets(str1); k=zcdc(str1); for(i=k-max;i*(s2+i)?*(s1+i):*(s2+i); if(*(s1+i)=='\0') while(*(s1+i)!='\0') 17 {*(s3+i)=*(s2+i);i++;} if(*(s2+i)=='\0') while(*(s1+i)!='\0') {*(s3+i)=*(s1+i);i++;} *(s3+i)='\0'; } stuients 函数的指针和指向函数的指针变量 main() {int max(int,int); int(*p)(); int a,b,c; p=max;/ 将函数 max 的入口地址赋给指针 p/ c=(*p)(a,b); 例 10.24 设一个函数 process,在调用它的时候,每次实现不同功能。输入 a 和 b 两个数,第一次调用 processs 时找出其中大者,第二次找出小者,第三次求 和; main() { int max(int,int); int min(int,int); int add(int,int); int a=4,b=6; process(a,b,max); 第一次调用 process 时,除了将a和b作为实参传给 process(a,b,min); process 的形参x和y外,还将函数名 max 作为实参将其 process(a,b,add); 入口地址传送给 process 函数中的形参 fun; } max(int x,int y) {int z; if(x>y) z=x; else z=y; return(z); } min(int x, int y) {int z; if(x0) k=j; t=name[i];name[i]=name[k];name[k]=t; } } void print(char *name[ ],int n) {int i; for(i=0;i main() {char str1[100],str[100]={"sytdghjkimbcxvx"}; char *p,*p1; int m=3,n,i; n=strlen(str); puts(str); p=str;p1=str1; for(i=0;i main() {char str[1000]; int dx=0,xx=0,kg=0,sz=0,ot=0,n,i; char *p; gets(str); p=str; n=strlen(str); for(i=0;i='a'&&*p<='z') xx++; else if(*p>='A'&&*p<='Z') dx++; else if(*p==' ') kg++; else if(*p>='0'&&*p<='9') sz++; else ot++; p++; } printf("%4d,%4d,%4d,%4d,%4d\n",xx,dx,kg,sz,ot); } xH6 ) gDW#^62Nb~89 21 3, 4, 2, 5, 4 程序三十:编一程序,打入月份号,输出该月的英文名字。 #include main() {char * str[]={"January","Febryary","March","April","May","June","July","August","Septe mber","October","November","December"}; int i,a; scanf("%d",&a); for(i=0;i<12;i++) if(a==i) printf("%s",str[a-1]); 5 May 程序三十一:用指向指针的指针的方法对n 个整数排序并输出。要求将排序单独写成一个函 数。5 个整数和 n 在主函数中输入。最后在主函数中输出。 void sort(int *a[ ],int n) {int **p,i,k,j,t; p=a; for(i=0;i**(p+j)) k=j; t=**(p+i);**(p+i)=**(p+k);**(p+k)=t; } } main() {static int a[5]={72,32,56,17,95}; int *num[5]; int **p,i; /指向指针的指针/ for(i=0;i<5;i++) num[i]=&a[i]; /指针数组 num 存放数组 a 中各元素地址/ sort(num,5); p=num; for(i=0;i<5;i++) {printf("%d\t",**p); p++;} } 17 32 56 72 95 程序三十二:写一函数,p1 指向字符串 s1,p2 指向字符串 s2,当 s1=s2 时返回 0,s1 大于 或者小于 s2 时,返回对应字符 ASCII 值得差,若两个字符串不一样长,输出较长串的长出 来的第一个字符 ASCII 值。 int strcmp1(char *p1,char *p2) {int i; 22 for(i=0;i<1000;i++) {if(*p1==*p2) ; return(0); if(*p1>*p2) break; else break; } return(*p1-*p2); } main() {char s1[1000]="shrfvnha",s2[1000]="sifvnhba"; {char s1[1000]="shrfvnha",s2[1000]="sifvnhbam"; int a,l1,l2; l1=strlen(s1); l2=strlen(s2); if(l1>l2) printf("%d\n",s1[l2]); else if(l1l2) printf("%d\n",s1[l2]); else if(l1 #include struct person {char name[20]; int count;}; struct person leader[3]={"Li",0,"Zhang",0,"Wang",0}; main() {int i,j; /对具体操作时,只能对最低一级的量操作,即对基本数据类型操作/ char s; for(i=1;i<=10;i++) {gets(s); for(j=0;j<3;j++) if(strcmp(s,leader[j].name)==0) leader[j].count++; } printf("\n"); for(i=0;i<3;i++) printf("%5s:%3d\n",leader[i].name,leader[i].count); } Li Li Wang Zhang Zhang Wang Li Wang Li Li Li: 5 Zhang: 2 Wang: 3 Null pointer assignment 程序三十三:有一个结构体变量 stu,内含学生号、姓名和 3 门课的成绩。要求在主函数中 赋值,在另一个函数中打印输出。 #define Format "%3d\n%s\n%6.3f,%6.3f,%6.3f\n" struct student {int num; char name[20]; float score[3]; }stu={13246,"Li ming",65.7,59.8,91.0}; void prin(struct student *p) { printf(Format,p->num,p->name,p->score[0],p->score[1],p->score[2]); 24 printf("\n"); } main() {prin(&stu); } 13246 Li ming 65.700,59.800,91.000 结构体知识 用指针处理链表 #define NULL 0 /定义空地址/ #define LEN sizeof(struct student) /定义结构体长度/ struct student {long num; float score; struct student *next; }; int n; struct student *creat(void) {struct student *head,*p1,*p2; n=0; p1=p2=(struct student *)malloc(LEN); /开辟一个长度为 LEN 的内存区,带回一个指针, 使 p1 和 p2 指向这个指针/ scanf("%ld,%f",&p1->num,&p1->score); head=NULL; while(p1->num!=0) {n++; if(n==1) head=p1; else p2->next=p1; /p1 指的节点连在 p2 节点的后面/ p2=p1; p1=(struct student *)malloc(LEN); scanf("%ld,%f",&p1->num,&p1->score); } p2->next=NULL; 指向表尾 return(head); /返回表头指针,即表的起始地址/ } void print(struct student *head) 输出函数 {struct student *p; p=head; if(head!=NULL) do 25 {printf("%ld %5.1f\n",p->num,p->score); p=p->next; } while(p!=NULL); } struct student * del(struct student *head,long num) 删除链表中节点 {struct student *p1,*p2; if(head==NULL) {printf("\nlist null! \n"); goto end; } /不执行一下操作,直接跳转到 end 语句/ p1=head; while(num!=p1->num) { if(p1->next!=NULL)/p1 指的不是要找的结点,而且后面还有结点/ { p2=p1; p1=p1->next;} /*p1 后移一个指针/ else {printf("%ld not been found! \n",num); goto end;} } if(num==p1->num) { if(p1==head) head=p1->next; else p2->next=p1->next; /将下一个结点地址赋给钱一个结点地址/ printf("delete:%ld\n",num); n--;} end: return(head); } struct student *insert(struct student *head,struct student *stu) {struct student *p0,*p1,*p2; p1=head; /p1 指向第一个结点/ p0=stu; /p0 指向要插入的结点/ if(head==NULL) /原来的表示空的/ {head=p0;p0->next=NULL;} /p0 指向的结点做头结点/ else while(p0->num>p1->num) { if(p1->next!=NULL) {p2=p1; p1=p1->next;} /p2 指向 p1 的结点,p1 后移一个结点/ else { p1->next=p0; p0->next=NULL;} } if(p0->numnum) { if(head==p1) head=p0; /插到原来第一个结点之前/ else p2->next=p0; /插到 p2 指向的结点之后/ p0->next=p1;} n++; return(head); } 26 main() {struct student *head,*stu; long del_num; head=creat(); print(head); scanf("%ld",&del_num); while(del_num!=0&&head!=NULL)/可以多次删除/ { head=del(head,del_num); print(head); scanf("%ld",&del_num); if(del_num==0) goto eld; /遇到 0 跳出/ } eld: printf("\n Input the inserted recore:"); stu=(struct student*)malloc(LEN); scanf("%ld,%f",&stu->num,&stu->score); while(stu->num!=0) {head=insert(head,stu); print(head); stu=(struct student*)malloc(LEN); scanf("%ld,%f",&stu->num,&stu->score); } } 101 64.0 104 85.0 109 67.0 101 delete:101 104 85.0 109 67.0 109 delete:109 104 85.0 0 Input the inserted recore: 120,94 104 85.0 120 94.0 115,63 104 85.0 115 63.0 120 94.0 0,0 共用体 特点: 27 (1) 共用体变量起作用的是最后一次存放的成员,在存放一个新的成员后原来的成员就 失去作用。 (2) 共用体变量的地址和它的各成员地址相同。 (3) 不能对共用体变量名赋值,也不能企图引用变量名得到一个值,又不能在定义共用 体变量时对它初始化。 (4) 不能把共用体做函数参数,也不能使函数带回共用体变量,但可以使指针指向共用 体。 (5) 共用体类型可以出现在结构体类型定义中,也可以定义共用体数组;反之,结构体 也可以出现在共用体类型定义中,数组也可以作为共用体成员。 struct {int num; char name[12]; char sex; char job; union {int class; char position[12]; }category; }person[3]; main() {int i; for(i=0;i<3;i++) {scanf("%d %s %c %c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job); if(person[i].job=='s') scanf("%d",&person[i].category.class); else if(person[i].job=='t') scanf("%s",person[i].category.position); else printf("errror"); } printf("NO. Name Sex Job class/position\n"); for(i=0;i<3;i++) {if(person[i].job=='s') printf("%-6d %-12s %-3c %-3c %-6d\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].cate gory.class); else printf("%-6d %-10s %-3c %-3c %-6s\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].cate gory.position); } } 102 Li f s 112 103 zhang m t professor 104 wang m s 115 NO. Name Sex Job class/position 102 Li f s 112 28 103 zhang m t professor 104 wang m s 115 枚举类型 例 11.13 口袋中有红、黄、蓝、白、黑 5 种颜色的球,每次从口袋拿出 3 个球,问得到 3 种不同颜色的球的可能取法,打印出每种组合的 3 种颜色。 main() {enum color {red,yellow,blue,white,black}; enum color i,j,k,pi; int n=0,loop; /注意必须先使 n=0/ for(i=0;i<5;i++) for(j=0;j<5;j++) {if(j!=i) {for(k=0;k<5;k++) if(k!=i&&k!=j) {n++; for(loop=1;loop<=3;loop++) { switch(loop) {case 1: pi=i;break; case 2: pi=j;break; case 3: pi=k;break; default:break; } switch(pi) {case 0: printf("%10s","red"); break; case 1: printf("%10s","yellow"); break; case 2: printf("%10s","blue"); break; case 3: printf("%10s","white"); break; case 4: printf("%10s","black"); break; default: break;} } printf("\n"); } } } printf("Totol %5d\n",n); } white red blue white red black white yellow red white yellow blue white yellow black white blue red white blue yellow white blue black white black red white black yellow 29 white black blue black red yellow black red blue black red white black yellow red black yellow blue black yellow white black blue red black blue yellow black blue white black white red black white yellow black white blue Totol 60 程序三十四:编写一个 print 函数,打印一个学生的成绩,该数组中有 5 个学生记录,每个 记录包括 num,name,score[3],用主函数输入这些记录,调用 print 输出这些数据。 struct student {int num; char name[20]; float score[3]; }; main() { struct student a[5],*p; void print(struct student person); int i,j; for(i=0;i<5;i++) {scanf("%d %s %f %f %f",&a[i].num,a[i].name,&a[i].score[0],&a[i].score[1],&a[i].score[2]); } for(i=0;i<5;i++) print(a[i]); } void print(struct student person) { printf("%4d %10.6s %10.3f %10.3f %10.3f\n",person.num,person.name,person.score[0],person.score[1],person.score[2 ]); } 10002 Linda 67 82 46 10003 Zhengna 69 75 83 10004 Zhaolin 76 83 86 10005 Qiaodan 64 84 61 10006 Baimei 62.7 79.5 68.4 10002 Linda 67.000 82.000 46.000 30 10003 Zhengn 69.000 75.000 83.000 10004 Zhaoli 76.000 83.000 86.000 10005 Qiaoda 64.000 84.000 61.000 10006 Baimei 62.700 79.500 68.400 程序三十五:定义一个结构体变量(包括年、月、日),写一函数 days,实现上面的计算, 由主函数将年、月、日传递给 days 函数,计算后将日子传回主函数,计算该日是本年中第 几天,注意闰年 struct date {int year; int month; int date; }; int days(int x,int y,int z) {int d=0,count; if(x%4==0) /以下判断是否为闰年/ { if(x%100!=0) d=1; else { if(x%400==0) d=1; else d=0; } } else d=0; switch(y) {case 1: count=z;break;/一个月按标准 30 天计,多一天加 1,少一天减 1/ case 2: count=(y-1)*30+1+z;break; case 3: count=(d==1?(y-1)*30+1+(-1)+z:(y-1)*30+1+z+(-2));break; case 4:/与 case 语句相同,到 break 才执行完此语句/ case 5: count=(d==1?(y-1)*30+z+2+(-1):(y-1)*30+2+z+(-2));break; case 6: case 7: count=(d==1?(y-1)*30+z+3+(-1):(y-1)*30+3+z+(-2));break; case 8: count=(d==1?(y-1)*30+z+4+(-1):(y-1)*30+4+z+(-2));break; case 9: case 10: count=(d==1?(y-1)*30+z+5+(-1):(y-1)*30+5+z+(-2));break; case 11: case 12: count=(d==1?(y-1)*30+z+6+(-1):(y-1)*30+5+z+(-2));break; defaut:break; } return(count); } main() {struct date m; int count1=0; scanf("%d %d %d",&m.year,&m.month,&m.date); count1=days(m.year,m.month,m.date); printf("%6d\n",count1); } 31 2001 4 12 102 2002 5 18 138 2003 6 25 176 2005 8 27 239 程序三十六:有 5 个学生,每个学生的数据包括学号、姓名、3 门课成绩,从键盘输入 5 个 学生的数据,打印出最高平均成绩学生的数据及平均成绩。 struct student {int num; char name[20]; float score[3]; }; main() { struct student a[5],*p; void print(struct student person); int i,j,k=0; float sum=0,average; float b[5]; for(i=0;i<5;i++) scanf("%d %s %f %f %f",&a[i].num,a[i].name,&a[i].score[0],&a[i].score[1],&a[i].score[2]); for(i=0;i<5;i++) {b[i]=(a[i].score[0]+a[i].score[1]+a[i].score[2])/3; sum=sum+b[i]; } average=sum/5; for(i=1;i<5;i++) if(b[i]>b[k]) k=i; print(a[k]); printf("%10.6f\n",b[k]); } void print(struct student person) { printf("%4d %10.6s %10.3f %10.3f %10.3f\n",person.num,person.name,person.score[0],person.score[1],person.score[2 ]); } 13 Lili 20 20 30 14 Wangdan 30 30 40 15 Zhangjie 40 40 50 16 zhaoyan 50 50 60 17 Zhengna 60 60 70 32 17 Zhengn 60.000 60.000 70.000 63.333332 33 34
还剩33页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

niemengquan

贡献于2012-05-03

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf