欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2012年上半年全国计算机等级考试二级C语言考前复习资料(机试)(共31页).doc

    • 资源ID:13426430       资源大小:313KB        全文页数:31页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2012年上半年全国计算机等级考试二级C语言考前复习资料(机试)(共31页).doc

    精选优质文档-倾情为你奉上2012年上半年全国计算机等级考试二级C语言考前复习资料(机试)机试做题技巧概述一、程序填空题【解析】该类型主要考察学员对一个C程序的整体把握能力。首先须通读整个源程序,了解程序的功能后试着边填空边调试,分析输出结果,以找到正确答案。因此,不像程序修改题那么简单。【程序填空题的特点和注意事项】(1)程序填空的试题中通常包含三个空需要填写。(2)试题中用"*found*/"来提示在下一行或下二行注明填空的位置及编号,如_1_。(3)程序填空考核对程序的整体把握,出题点可能是:for循环语句的初始化或条件判断、函数返回值、if语句的条件判断、链表中指针如何移动、文件操作相关函数的参数等。(4)特别要注意的是:只能在填空的位置填写语句或表达式,不要增行或删行,不要改动程序行的顺序,更不要改动程序的结构。【建议答题步骤】(1)首先仔细审题,了解试题的要求,看清题目给出的输入和输出例示,以便检验程序运行的结果是否正确。(2)审视"/*found*/"所在函数,根据题义理解程序所采用的基本算法,做到心里有数。(3)填好空后对测试程序进行检查是否有语法错误。当编译提示有语法错时,可参考编译提示来查找并改正错误。(4)当不再出现语法错时,执行程序, 按照试题的示例给出的数据进行试算,若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就应进一步检查程序中的逻辑错误。(5)修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。 二、程序修改题【解析】该类型主要考察学员对C程序部分结构或算法的分析和理解能力。因此,对学员的知识把握能力要求不高,通常可以借助计算机帮我们改错(仅限语法错误)。若非语法错误,则需对程序边调试边找错,分析输出结果,找出错误所在并改正。【程序填空题的特点和注意事项】(1)上机改错的试题中通常包含两个(或三个)错误需要修改。(2)试题中用"*found*/"来提示在下一行(或下面第二行)有错。(3)错误的性质基本分语法错误和逻辑错误两种,也有些试题要求把语句添加在下划线处。(4)特别注意:只能在出错的行上进行修改,不要改动程序行的顺序,更不要自己另编程序。【建议答题步骤】(1)首先仔细审题,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验改错后程序运行的结果是否正确。(2)审视"/*found*/"所在函数,根据题义理解程序所采用的基本算法,做到心里有数。(3)先对测试程序进行检查是否有语法错误。当编译提示有语法错时,可参考编译提示来查找并改正错误。(4)当不再出现语法错时,执行程序, 按照试题的示例给出的数据进行试算,若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就应进一步检查程序中的逻辑错误。(5)当程序存在逻辑错误时,首先应当理解题意、读懂程序的算法,必要时可按步检查数据的流程,以便确定错误所在。例如,题目要求数据按由小到大排序,而结果数据是按由大到小进行了排序,问题可能出现在条件判断上。又如,输出的字符串比预期的短,就有可能字符串的结束标志放错了位置。再如做循环的时候数组上限下限错误了,下标是从0开始 而不是1开始的。修改程序中的逻辑错时,要求考生认真读懂程序代码。(6)修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。三、程序设计题【解析】主要考察学员对C语言综合理解能力和上机实践能力,能够对所给问题,运用所学知识,按照程序设计的步骤独立编写出一段程序,学会用计算机语言描述日常生活中所见到的现象和拟题,通过实际上机操作积累经验,锻炼用C语言描述问题的逻辑思维能力。【建议答题步骤】(1)首先仔细审题,了解试题的要求,记下试题给出的输入和输出例示,以便检验在完成指定的函数后程序运行的结果是否正确。(2)调出源程序后,应对照函数首部的形参,审视主函数中调用函数时的实参内容,以便明确在函数中需要处理的数据对象。(3)理解试题的要求,审视主函数中调用函数的方式,若在表达式中调用函数(如把函数值赋给某个对象),则要求有函数值返回,需注意函数的类型,并在函数中用return语句返回函数值;若主函数中仅用语句形式调用函数,则需要通过形参间接地返回所得结果。(4)选择适当的算法进行编程,输入程序语句。不要忘记及时存盘!(5)编译程序,直到没有语法错误。(6)调试程序,利用试题中给出的例示数据进行输入(若要求输入的话),运行程序,用示例的输出数据检验输出结果,直到结果相同。 特别要注意:程序设计题要求完全设计正确才会给分,因此,要么是40分,要么是0分,不会给中间分。那么想通过机试,程序填空题和程序修改题通常来说必须全部正确才能容易通过,否则不容易通过。专心-专注-专业上机改错题重点题型归类分析分类一:简单语法错误u 题型一:符号遗漏1、下列程序的功能是:读入一个整数 k(2k10000),打印它的所有质因子(即所有为素数的因子)。例如,若输入整数:2310,则应输出:2、3、5、7、11。请改正程序中的语法错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include “conio.h”#include “stdio.h”/*found*/IsPrime ( int n ); int i, m;m = 1;for ( i = 2; i < n/ i+ )/*found*/ if !( n%i ) m=0; break ; return ( m );main () int j, k;clrscr ();printf (“nPease enter an integer number between 2 and 10000:”); scanf (“%d”,&k );printf ( “nn The prime factor (s) of % d is ( are ):”, k );for ( j = 2; j <= k; j+ )if ( ( ! k%j ) ) && ( IsPrime ( j ) ) printf ( n % 4d, j );printf (n);【参考答案】(1) IsPrime(int n) (2) if(!(n%i)【解题技巧】常见的符号遗漏问题包括以下两种:(1)分号问题l 遗漏分号:k+>k+; break>break; return sum>return sum; l 分号多余:if(k>1); >if(k>1) while(k>1); >while(k>1) switch( ); > switch( ) (2)遗漏括号if k>1 > if(k>1) if !(n%i) > if (!(n%i) while k>1 > while(k>1)u 题型二:符号出错2、给定程序MODI1.C中函数 fun 的功能是:用下面的公式求的近似值,直到最后一项的绝对值小于指定的数(参数num )为止: 1 1 1 1 - + - + . 4 3 5 7 例如, 程序运行后, 输入0.0001, 则程序输出3.1414。 请改正程序中的错误,使它能输出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!#include <math.h>#include <stdio.h>float fun ( float num ) int s ; float n, t, pi ; t = 1 ; pi = 0 ; n = 1 ; s = 1 ;/*found*/ while(t >= num) pi = pi + t ; n = n + 2 ; s = -s ;/*found*/ t = s % n ; pi = pi * 4 ; return pi ;main( ) float n1, n2 ; printf("Enter a float number: ") ;scanf("%f", &n1) ; n2 = fun(n1) ; printf("%6.4fn", n2) ;【参考答案】(1)while(fabs(t)>=num) (2)t=s/n3、下列给定程序中,函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,一次构成一个新数放在t中。例如,当s中的数为时,t是的数为642。请改正程序中的错误,使程序能得出正确的结果。注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>/*found*/void fun (long s, long t)long sl=10; s/=10; *t=s%10;/*found*/ while (s<0) s=s/100; *t=s%10*sl+*t; sl=sl*10; main()long s,t; clrscr(); printf("nPlease enter s:");scanf("%ld",&s); fun(s,&t); printf("The result is : %ldn",t);【参考答案】(1)void fun (long s, long *t) (2)while (s>0)【解题技巧】符号出错会表现在以下七个方面:(1)“%”和除号“/”混淆,如int i=j/k;>int i=j%k;有时候反过来考,将“%”改为“/”(2)赋值号“=”和等号“= =”混淆如if(i=j)>if(i=j) while(i=j)>while(i=j)(3)复合赋值出错,如:i=10>i/=10,除号是左下的斜线(4)强制转换出错,如int i=int(f)>int i=(int)f强制转化是在类型上加括号(5)大小写问题,如IF() >if() 或For( ) >for() 注:所有的关键字都是小写字母(6)条件判断时的符号问题(要根据具体题意来修改)如if(fabs(n-m)<0.0001) >if(fabs(n-m)> 0.0001) if(*s<*p)>if(*s>*p)for(;j<=n;)>for(;j<n;) int *a10 >int (*a)10(7)浮点数不能比较大小,只能用绝对值来比较u 题型三:变量定义出错4、程序的功能更是求方程2x3-4x2+3x-6=0的一个根,求要求绝对误差不超过0.001。例如,若给m输入 -100,给n输入90,则函数求得的一个根值为2.000。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include <stdio.h>#include <math.h>double funx(double x) return(2*x*x*x-4*x*x+3*x-6); double fun( double m, double n)/*found*/ int r; r=(m+n)/2;/*found*/ while(fabs(n-m)<0.001) if(funx(r)*funx(n)<0) m=r;else n=r;r=(m+n)/2; return r;main( ) double m,n, root; printf("Enter m n : n"); scanf("%lf%lf",&m,&n); root=fun( m,n ); printf("root = %6.3fn",root);【参考答案】:(1)double r;(2)while(fabs(m-n)>0.001)【解题技巧】变量定义可能会出现以下三种错误:(1)变量定义时没有初始化,或者初始化的值不对,如int s=1>int s=0,一般在累加求和时容易出现此类错误(2)变量定义出错,如int sum=0.0>double sum=0.0 或者是使用变量前并没有定义(3)变量定义的类型和程序中使用的类型不匹配,如int r>double r;u 题型四:赋值出错5、给定程序MODI1.C中函数fun的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:时,t中的数为:7531。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>void fun (long s, long *t) int d; long sl=1;/*found*/ t = 0; while ( s > 0) d = s%10;/*found*/ if (d%2 = 0) *t = d * sl + *t;sl *= 10; s /= 10; main() long s, t; printf("nPlease enter s:"); scanf("%ld", &s); fun(s, &t); printf("The result is: %ldn", t);【参考答案】:(1)*t=0;(2)if(d%2!=0)6、下列给定程序中,函数fun的功能是:实现两个整数的交换。例如给a和b分别输入60和65,输出为:a=65 b=60请改正程序中的错误,使程序能得出正确的结果。注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>/*found*/void fun (int a,b) int t;/*found*/ t=b;b=a;a=t; main()int a,b; clrscr(); printf("Enter a,b:");scanf("%d%d",&a,&b); fun(&a,&b); printf("a=%d b=%dn",a,b);【参考答案】(1)void fun (int *a,int *b) (2)t=*b;*b=*a;*a=t;【解题技巧】在解题时,要注意以下几种常见的错误:(1)赋值时类型不匹配。如char *r,*p;if(r= =p)>if(*r= =*p),*r,*p才是内容char ch="0">char ch='0'字符是用单引号括起来char ch='0'>char ch='0'此时是将字符0赋给ch变量,而不是0 > char ch=0;'0'的ASCII码就是0,可直接用0进行赋值(2)指针类赋值出错(左右两边类型不一致)如:int *a;int x=10,t=20;a=&x; a=t;>a=&t;指针只能存放变量的地址a=t;>*a=t;将变量赋给指针所指向的变量(3)实现交换时赋值出错如:if(a<b) t=a;b=a;b=t->if(a<b) t=a;a=b;b=t; 错误形式 正确形式 void fun(int *a,int *b) int t;t=b;b=a;a=t;void fun(int *a,int *b) int t; t=*b;*b=*a;*a=t;分类二:固定语法格式搭配错误u 题型一:输入输出格式出错1、给定程序MODI1.C中,fun函数的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之积。请改正程序中的错误,或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>int fun ()int a 3 3, sum, i, j;*_; for (i=0;i<3;i+) for (j=0;j<3;j+)* scanf (“%d”,a i j); for (i=0; i<3; i+) sum=sum*ai i;printf (“Sum=%dn”, sum);main () fun (); 【参考答案】(1)sum = 1; (2)scanf("%d", &aij);2、给定程序MODI1.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>#define M 5/*found*/int fun(int n, int xx) int i, j, sum=0; printf( "nThe %d x %d matrix:n", M, M ); for( i = 0; i < M; i+ ) for( j = 0; j < M; j+ )/*found*/ printf( "%f ", xxij ); printf("n"); for( i = 0 ; i < n ; i+ ) sum += xxii+xxi n-i-1 ; return( sum );main( ) int aaMM=1,2,3,4,5,4,3,2,1,0,6,7,8,9,0,9,8,7,6,5,3,4,5,6,7; printf ( "nThe sum of all elements on 2 diagnals is %d.",fun( M, aa );【参考答案】(1)int fun(int n,int xxM)(2)printf("%d",xxij);【解题技巧】注意输入输出的正确格式,关注容易出错的地方,如下图正确形式 错误形式scanf(“%d”,aij)int i,*p=&i; scanf(“%d”,&p);int i=10;printf(“%f”,i);printf(“%d”, “string”);scanf(“%d”,&aij)int i,*p=&i; scanf(“%d”,p);int i=10;printf(“%d”,i);printf(“%s”, “string”);如:scanf(“%d”,aij) >scanf(“%d”,&aij) int i,*p=&i; scanf(“%d”,&p) >scanf(“%d”,p);int i=10; printf(“%f”,i);>printf(“%d”,i); printf(“%d”, “string”); > printf(“%s”, “string”);u 题型二:选择结构中的基本格式问题3、给定程序MODI1.C中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、例如,若给n输入7,该项的斐波拉契数值为:13。请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include <stdio.h>long fun(int g)/*found*/ switch(g); case 0: return 0;/*found*/ case 1 ;case 2 : return 1 ; return( fun(g-1)+fun(g-2) );main() long fib; int n; printf("Input n: "); scanf("%d",&n); printf("n = %dn",n); fib=fun(n); printf("fib = %dnn",fib);【参考答案】:(1)switch(g)(2)case 1: return 1; case 2:return 1;【解题技巧】注意选择结构的正确语法格式,关注容易出错的地方,如下图正确形式 错误形式switch() ; 分号多余 case 1:语句1;break;case 2; 此处应该为冒号case3:语句3 case与常量表达式之间有空格switch() case 1:语句1;break;case 2:case 3:语句3;u 题型三:循环结构中的基本格式问题4、给定程序MODI1.C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1 - - - - - - - 2*2 3*3 m*m 例如,若 m 中的值为: 5,则应输出: 0.。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>double fun ( int m ) double y = 1.0 ;int i ;/*found*/ for(i = 2 ; i < m ; i+)/*found*/ y -= 1 /(i * i) ; return( y ) ;main( ) int n = 5 ; printf( "nThe result is %lfn", fun ( n ) ) ;【参考答案】:(1)for(i=2;i<=m;i+)(2)y-=1.0/i/i;【解题技巧】注意选择结构的正确语法格式,关注容易出错的地方,如下图正确形式 错误形式for(i=0,i<10,i+)以分号为间隔符for(i=0;i<n;i+)循环的次数以具体题目来判断(改错中的经常考)for(i=0;i<10;i+)for(i=0;i<n-1;i+)分类三:函数类错误(考试重点、难点,出现的频率非常高)u 题型一:函数定义时出错1、给定程序MODI1.C中函数fun的功能是:根据形参m的值(2m9,在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。例如,若输入 2 | 若输入 4 则输出: | 则输出: 1 2 | 1 2 3 4 2 4 | 2 4 6 8 | 3 6 9 12 | 4 8 12 16 请改正程序函数中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>#define M 10int aMM = 0 ;/*found*/void fun(int *a, int m) int j, k ; for (j = 0 ; j < m ; j+ )for (k = 0 ; k < m ; k+ )/*found*/ ajk = k * j ;main ( ) int i, j, n ; printf ( " Enter n : " ) ; scanf ("%d", &n ) ; fun ( a, n ) ; for ( i = 0 ; i < n ; i+) for (j = 0 ; j < n ; j+) printf ( "%4d", aij ) ; printf ( "n" ) ; 【参考答案】:(1) void fun(int aM, int m)(2)ajk=(k+1)*(j+1);2、给定程序MODI1.C中函数 fun 的功能是:求S的值。 例如,当k为10时,函数值应为:1.。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <math.h>/*found*/void fun( int k ) int n; double s, w, p, q; n = 1; s = 1.0; while ( n <= k ) w = 2.0 * n; p = w - 1.0; q = w + 1.0; s = s * w *w/p/q;n+; /*found*/ return smain ( ) printf("%fn", fun (10);【参考答案】(1) float fun(int k)(2)return s;3、给定程序MODI1.C中函数fun的功能是: 比较两个字符串,将长的那个字符串的首地址作为函数值返回。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!#include <stdio.h>/*found*/char fun(char *s, char *t) int sl=0,tl=0; char *ss, *tt; ss=s; tt=t; while(*ss) sl+;/*found*/ (*ss)+; while(*tt) tl+;/*found*/ (*tt)+; if(tl>sl) return t; else return s;main() char a80,b80; printf("nEnter a string : "); gets(a); printf("nEnter a string again : "); gets(b); printf("nThe longer is :nn"%s"n",fun(a,b);【参考答案】(1) char *fun(char *s,char *t)(2)ss+;(3)tt+;【解题技巧】函数头部容易出错的几个地方:(1)int fun(int m);->int fun(int m)函数定义时末尾的分号是多余的(2)int fun(int m) int i=20;char ch;->int fun(int m) 函数名后必须要有大括号(3)void fun(int a,int b)->void fun(int *a,int *b)参数类型不对(4)void fun(int a,b)->void fun(int a,int b)相同类型的参数也要分开定义(5)void fun(int a,int n)->void fun(int a10,int n)数组定义时二维下标不能省略(6)voidfun(int n)->void fun(int n)返回值类型和函数名之间有空格注意函数定义的一般格式,关注容易出错的地方,如下图:正确形式 错误形式int fun(int a,b);int k=2;while(k<=m&&(k%b)k+;.if(k=a)return 1.0;else return 0.0double fun(int a,int b)int k=2;while(k<=m&&(k%b)k+;.if(k= =a)return 1.0;else return 0.0当+、- -与*结合问题,搞清楚什么时候应该加括号。搞清楚什么时候该加*号+、- -和*是同一优先级,结合性是从右向左*p+; 是指针p向后移动一个存储单元 然后取指针p所指变量的值。(*p)+; 是将指针p所指变量的值自增1.u 题型二:返回值错误4、下列给定程序中,函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。例如:若输入THIs is a boot,则输出应该是1、0、2、2、0。请改正程序中的错误,使它能得出正确结果。#include <conio.h>#include<stdio.h>/*found*/fun(char *s,int num5)int k,i=5;for(k=0;k<i;k+)/*found*/numi=0;for(;*s;s+)i=-1;/*found*/switch(s) case a:case A:i=0;break;case e:case E:i=1;break;casei:caseI:i=2;break;case0:case 0:i=3;break;caseu:caseU:i=4;break;if(i>=0)numi+;main()int i;char s30;int num5=0;printf("请输入一个字符串:n");gets(s);fun(s,num);for(i=0;i<5;i+)printf("%d、",numi);【参考答案】(1)void fun(char *s,in

    注意事项

    本文(2012年上半年全国计算机等级考试二级C语言考前复习资料(机试)(共31页).doc)为本站会员(飞****2)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开