C高级编程试验参考指导书.doc
《C高级编程试验参考指导书.doc》由会员分享,可在线阅读,更多相关《C高级编程试验参考指导书.doc(32页珍藏版)》请在咨信网上搜索。
C高级编程试验指导书 试验一 进制转换 一、试验要求 采取模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定进制数(二、八、十六)形式输出。指定进制由用户输入。 二、试验目标 1、熟悉C环境安装、使用。 2、承上启下,复习《C程序设计》等基础课程知识。 3、掌握C语言编程方法。 三、预备知识 1、VC6.0安装和使用。 2、C程序设计基础知识。 四、试验内容 采取模块化程序设计完成进制转换。 五、程序框图 请根据自己对程序设计需求了解进行设计。 输出结果 主函数输入需要转换数和进制 调用子函数 判定进制数是否为16 Y N 依据while里算式计算 依据while里算式计算 输出结果 六、程序清单 1.编写主函数:输入需转换数和转换进制 2.编写子函数 (1)函数转换为除16进制以外进制转换算数编程,使用while循环实现计算进制转换,并输出转换后数字; (2)函数转换为16进制,用while函数实现16进制转换计算并输出16进制转换后数据; 3.编写数组,相关16进制一系列字符 4.编写主函数加入do while 使函数能够循环。 七、试验步骤 1、绘制步骤图(程序框图)。 2、编码。 #include <stdio.h> char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n"); } else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c; char cIn = 0; do { printf("\n输入正整数,转换进制:"); scanf("%d %d",&a,&c); fun(a,c); printf("Go on? (Y/N):"); cIn = getchar( ); if(cIn == 'N' || cIn == 'n') return 0; } while(1); } 3、调试。 八、试验结果 进制转换结果。 试验二 学生班级成绩统计 一、试验要求 设计一个统计班级学生成绩程序。 统计一个班(最多有35人)学生成绩,要求能实现以下四个功效: (1) 由键盘输入每个学生学号和四门课程成绩。 (2) 计算每个学生平均成绩和总成绩。 (3) 按总成绩从高到低排名,并按名次输出每个学生情况,包含: 学号,各科成绩,平均成绩,总成绩,排名 (4) 依据要求输出某门课程(由键盘输入课程号)成绩在90分(含90分)以上且总分在前5名学生情况(请采取结构体数据类型,并采取模块化结构实现)。 二、试验目标 1、深入熟悉C环境安装、使用。 2、深入复习《C程序设计》等基础课程知识。 3、深入掌握C语言编程方法。 三、预备知识 1、VC6.0安装和使用。 2、C程序设计基础知识。 3、软件实现基础步骤。 四、试验内容 设计一个统计班级学生成绩程序。 五、程序框图 编写主函数包含所需要子函数 子函数1:输入数据,并计算平均分和总分存到数组中 子函数2:依据子函数1计算值进行排序 子函数3:按子函数2中排序输出数据 子函数4:输入需要查询科目标缩写,将查询到数据输出 六、 程序清单 1、 先编写主函数,将所需要用到子函数编写, 2、 子函数1:输入数据,将所需要数据存到数组中并计算平均值和总分, 3、 子函数2:依据子函数1计算所得值进行排序, 4、 子函数3:输出排序完数据, 5、 子函数4:编写查询程序,输入查询科目缩写,并排名后输出。 七、试验步骤 1、可行性分析 2、需求分析 3、概要设计和具体设计(含绘制步骤图)。 4、编码实现 #include <stdio.h> int order[35]; double addsum[35]; double addaver[35]; int b= 0; typedef struct student { int id; char name[35]; double math; double english; double chinese; double computer; } student; student stu[35]; void shuru() { b= 0; while( b < 35 ) { printf( "输入学号(输入0退出输入):" ); scanf( "%d", &stu[b].id ); fflush( stdin ); if ( stu[b].id <= 0 ) break; printf("输入名字:"); scanf("%s",&stu[b].name); printf( "输入4门成绩(数学 英语 语文 计算机):" ); scanf( "%lf %lf %lf %lf", &stu[b].math, &stu[b].english, &stu[b].chinese, &stu[b].computer ); fflush( stdin ); addsum[b] = stu[b].math + stu[b].english +stu[b].chinese, stu[b].computer; addaver[b] = addsum[b] / 4.0; order[b] = stu[b].id; b++; } } int query( int id ) { int i = 0; for( i=0; i<b; i++ ) { if ( stu[i].id == id ) return i; } return -1; } void paiming() { int i,j; for( i=0; i<b; i++ ) { for( j=i+1; j<b; j++ ) { if ( addsum[i] - addsum[j] < 0.001 ) { int temp_id = order[i]; order[i] = order[j]; order[j] = temp_id; } } } } void output() { int i; printf( "名次 学号 姓名 数学 英语 语文 计算机 总分 平均\n" ); for( i=0; i<b; i++ ) { int j = query( order[i] ); if ( j<0 ) { printf( "order[%d]= %d error\n", i+1, order[i] ); continue; } printf( "%02d %5.d %s %4.2f %4.2f %4.2f %6.2f %4.2f %4.2f\n", i+1, stu[j].id, stu[j].name,stu[j].math, stu[j].english, stu[j].chinese, stu[j].computer,addsum[j], addaver[j] ); } } void chaxun() { char a[1]; int i; printf("输入你所想要查询课程代号:"); scanf("%c",&a[1]); printf( "名次 学号 姓名 数学 英语 语文 计算机 总分 平均\n" ); if(a[1]=='m') { for(i=0;i<b;i++) { if(stu[i].math>90 && order[i]< 5) { printf( "%02d %5.d %s %4.2f %4.2f %4.2f %6.2f %4.2f %4.2f\n", i+1, stu[i].id, stu[i].name,stu[i].math, stu[i].english, stu[i].chinese, stu[i].computer,addsum[i], addaver[i] ); } } } else if(a[1]=='e') { for(i=0;i<b;i++) { if(stu[i].english>90 && order[i]< 5) { printf( "%02d %5.d %s %4.2f %4.2f %4.2f %6.2f %4.2f %4.2f\n", i+1, stu[i].id, stu[i].name,stu[i].math, stu[i].english, stu[i].chinese, stu[i].computer,addsum[i], addaver[i] ); } } } else if (a[1]=='c') { for(i=0;i<b;i++) { if(stu[i].chinese>90 && order[i]< 5) { printf( "%02d %5.d %s %4.2f %4.2f %4.2f %6.2f %4.2f %4.2f\n", i+1, stu[i].id, stu[i].name,stu[i].math, stu[i].english, stu[i].chinese, stu[i].computer,addsum[i], addaver[i] ); } } } else { for(i=0;i<b;i++) { if(stu[i].computer>90 && order[i]< 5) { printf( "%02d %5.d %s %4.2f %4.2f %4.2f %6.2f %4.2f %4.2f\n", i+1, stu[i].id, stu[i].name,stu[i].math, stu[i].english, stu[i].chinese, stu[i].computer,addsum[i], addaver[i] ); } } } } void main() { shuru(); paiming(); output(); chaxun(); }5、调试6、运行维护,完善文档 八、试验结果 试验三 文件合并 一、试验要求 将两个文件中数据合并至一个文件。 有两个文件“Afile”和“Bfile”,各存放一行字母,今要求把这两个文件中信息合并(按字母次序排列),输出到一个新文件“Cfile”中去。 二、试验目标 1、掌握指针、文件指针概念。 2、掌握文件操作知识。 3、深入掌握软件开发基础步骤。 三、预备知识 1、C程序设计基础知识。 2、软件实现基础步骤。 四、试验内容 将两个文件中数据合并至一个文件。 五、程序清单 1、将头文件编写齐全,建立主函数; 2、建立数组空间str1[40], str2[20],str3[60]用来存放文件A,B,C字符; 3、打开文件A,并将文件A中字符存入str1[40]中,并输出; 4、打开文件B,并将文件B中字符存入str1[40]中,并输出; 5、将str2中字符存入str1中,将str1中字符存入str3中; 6、将str3中字符排序,存入文件C中; 7、输出文件C中字符。 六、程序框图 编写头文件&主函数 建立文件指针和数组空间 打开文件A,将文件A中数据存入数组str1 打开文件B,将文件B中数据存入数组str2 将str2中字符存入str1中,将str1中字符存入str3中 将str3中字符排序,存入文件C中,以后输出 七、试验步骤 1、可行性分析 2、需求分析 编写头文件&主函数 建立文件指针和数组空间 打开文件A,将文件A中数据存入数组str1 打开文件B,将文件B中数据存入数组str2 将str2中字符存入str1中,将str1中字符存入str3中 将str3中字符排序,存入文件C中,以后输出 3、概要设计和具体设计(含绘制步骤图)。 4、编码实现 # include <stdio.h> # include <stdlib.h> # include <string.h> int main() { FILE *fp1, *fp2, *fp3; int i,j,n; char t; char str1[40], str2[20],str3[60]; if((fp1=fopen("A.txt","r"))==NULL) { printf("无法打开A文件!"); exit(0); } fgets(str1,20,fp1); printf("%s\n",str1); if((fp2=fopen("B.txt","r"))==NULL) { printf("无法打开B文件!"); exit(0); } fgets(str2,20,fp2); printf("%s\n",str2); strcat(str1,str2); strcpy(str3,str1); n=strlen(str3); for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) if(str3[i]>str3[i+1]) { t=str3[i]; str3[i]=str3[i+1]; str3[i+1]=t; } if((fp3=fopen("C.txt","w"))==NULL) { printf("无法打开C文件!"); exit(0); } fputs(str3,fp3); fputs("\n",fp3); printf("%s\n",str3); return 0; } 5、调试 6、运行维护,完善文档 八、试验结果 试验四 链表基础操作 一、试验要求 完成单链表建立、插入和删除操作。 链表,就是用“指针域”链在一起自引用结构(称为“结点”)线性集合。链表是经过指向链表第一个结点指针访问,其后结点是经过前一结点中“指针域”访问。在单链表中,数据域用来存放数据,指针域用来存放下一个结点地址。 建立单链表能够经过头插法完成,也能够经过尾插法完成。 在单链表第i个元素前插入一个新元素,先必需找到第i-1个元素、找到第i个元素,然后新建一个节点,再进行对应插入。 从单链表中删除一个元素,先必需找到这个元素前一个元素、找到这个元素,然后进行对应删除,删除后元素必需被释放掉内存。 二、试验目标 1、复习指针概念。 2、复习数据结构相关基础知识。 3、掌握链表使用方法。 三、预备知识 1、C程序设计基础知识。 2、数据结构相关基础知识。 四、试验内容 完成单链表建立、插入和删除操作。 五、程序清单 1、定义头文件,编写共用体结构体及主函数; 2、在主函数中利用switch和do—while函数使程序能够循环调用子函数; 3、编写子函数1:手动输入链表长度及链表中数值建立链表; 4、编写子函数2:从键盘输入需要查询值,然后输出其所在节点; 5、编写子函数3:从键盘输入需要删除节点,然后输出删除此节点后链表; 6、编写子函数4:从键盘输入需要添加数值节点,从键盘输入要添加进去数值,然后输出增加此节点数加1后添加数值链表; 7、从键盘输入0后推出程序。 六、程序框图 编写子函数2查找数值,并输出数值所在节点数 定义头文件,共用体变量及主函数 编写子函数1建立链表 编写子函数3删除节点数,并输出链表 编写子函数4插入节点数,并输出链表 输入0结束 七、试验步骤 1、可行性分析 编写子函数2查找数值,并输出数值所在节点数 定义头文件,共用体变量及主函数 编写子函数1建立链表 编写子函数3删除节点数,并输出链表 编写子函数4插入节点数,并输出链表 输入0结束 2、需求分析 3、概要设计和具体设计(含绘制步骤图)。 4、编码实现 #include<stdio.h> #include<stdlib.h> #include<string.h> struct lian_node{ int n; int num; struct lian_node*link; }; struct lian_node*Create_Lian_Doc(); void SearchDoc_n(struct lian_node*link,int n); void SearchDoc_num(struct lian_node*link,int num); void InsertDoc(struct lian_node*llist,struct lian_node*p,int n); void DeleteDoc(struct lian_node*llist,int n); void Print_Lian_Doc(struct lian_node*llist); int main(void) { struct lian_node*llist,*p; int n,num,choice; int size=sizeof(struct lian_node); llist=Create_Lian_Doc(); do{ printf(" \n链表操作\n"); printf(" 1 :查找\n"); printf(" 2 :删除\n"); printf(" 3 :插入\n"); printf(" 0 : 退出\n"); printf("请选择功效:"); scanf("%d",&choice); switch(choice){ case 0: break; case 1: printf("输入值 : "); scanf("%d",&num); SearchDoc_num(llist,num); break; case 3: printf("插入结点位置:"); scanf("%d",&n); printf("插入结点数值:"); scanf("%d",&num); p=(struct lian_node *)malloc(size); p->n=n+1; p->num=num; p->link=NULL; InsertDoc(llist,p,n); break; case 2: printf("\n删除结点: "); scanf("%d",&n); DeleteDoc(llist,n); break; } }while (choice!=0); return 0; } struct lian_node*Create_Lian_Doc() { int i,num,n; int size=sizeof(struct lian_node); struct lian_node *llist,*tail,*p; llist=tail=NULL; printf("请输入链表长度n="); scanf("%d",&n); printf("请输入链表各个值:"); for(i=1;i<=n;i++) { p=(struct lian_node *)malloc(size); scanf("%d",&num); p->n=i; p->num=num; p->link=NULL; if(llist==NULL) llist=p; else tail->link=p; tail=p; } return llist; } void SearchDoc_num(struct lian_node*llist,int num) { struct lian_node *ptr; if(llist==NULL){ printf("\n无结果!\n"); return; } for(ptr=llist;ptr;ptr=ptr->link){ if(ptr->num==num){ printf("输出序号为 : %d\n\n",ptr->n); break; } } if(ptr==NULL) printf("\n无结果!\n"); } void InsertDoc(struct lian_node*llist,struct lian_node*p,int n) { int i=1; struct lian_node *ptr,*ptr1,*ptr2; ptr1=llist; ptr2=llist->link; while(ptr1->n!=n && ptr2!=NULL){ ptr1=ptr2; ptr2=ptr2->link; } if(ptr1->n==n){ p->link=ptr2; ptr1->link=p; } else printf("\n无结果!\n"); for(ptr=llist;ptr;ptr=ptr->link){ ptr->n=i; i++; } Print_Lian_Doc(llist); } void DeleteDoc(struct lian_node*llist,int n) { struct lian_node *ptr,*ptr1,*ptr2; int i=1; while(llist!=NULL && llist->n==n){ ptr2=llist; llist=llist->link; free(ptr2); } if(llist==NULL) printf("\n无结果!\n"); ptr1=llist; ptr2=llist->link; while(ptr2!=NULL){ if(ptr2->n==n){ ptr1->link=ptr2->link; free(ptr2); } else ptr1=ptr2; ptr2=ptr1->link; } for(ptr=llist;ptr;ptr=ptr->link){ ptr->n=i; i++; } Print_Lian_Doc(llist); } void Print_Lian_Doc(struct lian_node*llist) { struct lian_node*ptr; printf("输出链表 : "); for(ptr=llist;ptr;ptr=ptr->link) printf("%5d",ptr->num); printf("\n"); } 5、调试 6、运行维护,完善文档 八、试验结果 试验五 约瑟夫环(一) 一、试验要求 编号为1,2,…,nn个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个整数作为报数上限值m,从第一个人开始顺时针自1次序报数,报到m时停止报数。报m人出列,将她密码作为新m值,从她在顺时针方向上下一个人开始重新从1报数,如此下去,直至全部人全部出列为止。试设计一个程序,求出出列次序。要求利用单循环链表作为存放结构模拟此过程,根据出列次序打印出各人编号。比如m初值为20,n=7,7个人密码依次是3,1,7,2,4,8,4,出列次序为6,1,4,7,2,3,5。请用链表完成。 二、试验目标 1、复习指针概念。 2、复习数据结构相关基础知识。 3、复习链表使用方法。 三、预备知识 1、C程序设计基础知识。 2、数据结构相关基础知识。 四、试验内容 用链表完成约瑟夫环过程。 五、程序清单 六、程序框图 请根据自己对程序设计需求了解进行设计。 七、试验步骤 1、可行性分析 2、需求分析 3、概要设计和具体设计(含绘制步骤图)。 4、编码实现 #include <stdio.h> #include <malloc.h> typedef struct Node{ int Num; struct Node *next; }JoseNode, *PNode, *HNode; int JoseInit(HNode *h) { if (!h) { printf("初始化链表错误!\n"); return 0; } (*h)->next = (*h);//循环单链表 return 1; } int JoseInsert(JoseNode *h, int pos, int x) { PNode p=h,q; int i=1; if (pos == 1)/*尾插法*/ { p->Num = x; p->next = p; return 1; } while(i<pos-1) { p=p->next; i++; } q=(PNode)malloc(sizeof(JoseNode)); q->Num=x; q->next=p->next; p->next=q; return 1; } void TraverseList(HNode h, int M) { int i = 0; PNode p = h; printf("参与人编号为:\n"); while (i<M) { printf("%d\t", p->Num); p = p->next; i++; } printf("\n"); } int JoseDelete(HNode h, int M, int k) { int i; PNode p=h,q; while(M>1) { for(i=1;i<k-1;i++) { p=p->next; } q=p->next; p->next=q->next; printf("出局人为:%d号\n",q->Num); free(q); p=p->next; M--; } printf("***************获胜者为:%d号***************",p->Num); return 1; } int main() { int i;//计数器 int N;//参与人数 int k;//报数密码 printf("请输入参与人数:"); scanf("%d",&N); printf("请输入出局密码:"); scanf("%d",&k); HNode h = ((HNode)malloc(sizeof(JoseNode))); JoseInit(&h); for (i = 1; i <=N; i++) { JoseInsert(h, i, i); } /**************遍历单链表***************/ TraverseList(h,N); /***************出局函数************/ if(k > 1) JoseDelete(h, N, k); else { for(i = 1; i < N; i++) printf("出局人为:%d号\n",i); printf("***************获胜者为:%d号***************",N); } printf("\n"); printf("\n"); return 0; } 5、调试 6、运行维护,完善文档 八、试验结果- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 编程 试验 参考 指导书
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文