当前位置:首页 » 招生排名 » c语言大学教程第6版答案

c语言大学教程第6版答案

发布时间: 2023-04-24 14:00:04

① 谁有C语言大学教程(第6版)pdf要中文版的

② c语言程序题 第一题答案 6 第二题答案 1,23,456 第3题答案: aaa bbb ccc ddd 我想知道具体的思路,谢了

第一题:For(i=0;i<2;i++);
For(j=0;j<2;j++) n[i+1][j+1]+=n[i][j];
一句for后面多了一个分号 去掉
结果为6
第二题:结备毕果老卜为1,侍滚穗23,456
第三题:结果为
aaa
bbb

ccc ddd

③ C语言习题请高手解答。。急急急

在C语言中个优先级如下第一级是()圆括号 []下标运算符 ->只向结构体成员运算符 .分量运算符 第二级是 !逻辑运算符 ~按位取反翻运算符 ++自增运算符 --自减运算符 -是负号运算符 (类型)类型强制转换符 *指针运算符 &取地址运算符 sizeof 长度运算符 第三级是*乘法运算符 /除法运算符 %取模运算符 第四级是 +加法运算符 -减法运算符 第五级是<<左移运算符 >>右移运算符 第六级是< <= > >=关系运算符 第七级是==等于运算符 !=不等于运算符 第八级是& 第九级是^ 第十级是 | 第十一级是&& 第十二级是|| 第十三级是?:条件运算符 第十四级是= += -= *= /= %= >>= <<= &= ^= |=
所以第一题是 A 第二题是 A
第三题在C语言中&&与 ||是或 不可用X>=Y>=Z表示应为(X>=Y)&&(Y>=Z)所以为A
第四题在C语言中真是1 假是0 表达式为假的是D 注意!6=0 !0=1(非0数都看成是1)
第五题 从上到下读程序c=0是最后的结果故是A
第六题 w<x?w:z<y?z:x 是表示如果在z<y为真取z 假取x 在判断w<x是真取w假取 后面运算的结果 所以选C
第七题 选B S最后赋值是4 在s*=s后为16.
第八题 选C 很简单的看条件就行了
第九题 没有;分号吗?
第十题 选A switch()在()中的只能是常量。
第十一题 1是真 0是假(非0也是真)
第十二题 关系运算符是同属于一级的没什么比较
第十三题 优先级是!= && || (参考第一题)
第十四题 关系运算符优先级大于逻辑运算符 (除!)
第十五题 !的优先级大于算术运算符
第十六题 (a==b)||(a<c) (x>4)||(x<-4)
第十七题 是1 是真值
第十八题 x<=0 (x>0)||(x<0)
第十九题 3 1 1 b=a(b=a=1) a=c(a=c=3) c=b(c=b=1)
第二十题 *#

④ C语言程序设计教程答案~有追加悬赏100分!

1 【C语言】《C语言程序设计教程(第二版)》习题答案

说 明
1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理
工大学出版社出版的,绿皮。

2 第1章 程序设计基础知识
一、单项选择题(第23页)
1-4.CBBC 5-8.DACA

二、填空题(第24页)
1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言 7.有穷性 8.直到型循环 9.算法 10.可读性 11.模块化 12.对问题的分析和模块的划分

三、应用题(第24页)
2.源程序:
main()
{int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */
printf("cock hen chick\n");
for(i=1;i<=20;i++)
for(j=1;j<=33;j++)
for(k=1;k<=33;k++)
if (i+j+k*3==100&&i*5+j*3+k==100)
printf(" %d %d %d\n",i,j,k*3);}
执行结果:
cock hen chick
4 18 78
8 11 81
12 4 84
3.现计算斐波那契数列的前20项。
递推法 源程序:
main()
{long a,b;int i;
a=b=1;
for(i=1;i<=10;i++) /*要计算前30项,把10改为15。*/
{printf("%8ld%8ld",a,b);
a=a+b;b=b+a;}}
递归法 源程序:
main()
{int i;
for(i=0;i<=19;i++)
printf("%8d",fib(i));}
fib(int i)
{return(i<=1?1:fib(i-1)+fib(i-2));}
执行结果:
1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597 2584 4181 6765
4.源程序:
#include "math.h";
main()
{double x,x0,deltax;
x=1.5;
do {x0=pow(x+1,1./3);
deltax=fabs(x0-x);
x=x0;
}while(deltax>1e-12);
printf("%.10f\n",x);}
执行结果:
1.3247179572
5.源程序略。(分子、分母均构成斐波那契数列)
结果是32.66026079864
6.源程序:
main()
{int a,b,c,m;
printf("Please input a,b and c:");
scanf("%d %d %d",&a,&b,&c);
if(a<b){m=a;a=b;b=m;}
if(a<c){m=a;a=c;c=m;}
if(b<c){m=b;b=c;c=m;}
printf("%d %d %d\n",a,b,c);}
执行结果:
Please input a,b and c:123 456 789
789 456 123
7.源程序:
main()
{int a;
scanf("%d",&a);
printf(a%21==0?"Yes":"No");}
执行结果:
42
Yes

3 第2章 C语言概述
一、单项选择题(第34页)
1-4.BDCB 5-8.AABC

二、填空题(第35页)
1.主 2.C编译系统 3.函数 函数 4.输入输出 5.头 6. .OBJ 7.库函数 8.文本

三、应用题(第36页)
5.sizeof是关键字,stru、_aoto、file、m_i_n、hello、ABC、SIN90、x1234、until、cos2x、s_3是标识符。
8.源程序:
main()
{int a,b,c;
scanf("%d %d",&a,&b);
c=a;a=b;b=c;
printf("%d %d",a,b);}
执行结果:
12 34
34 12

4 第3章 数据类型与运算规则
一、单项选择题(第75页)
1-5.DBACC 6-10.DBDBC 11-15.ADCCC 16-20.CBCCD 21-25.ADDBC 26-27.AB

二、填空题(第77页)
1.补码 2.±(10^-308~10^308) 3.int(整数) 4.单目 自右相左 5.函数调用 6.a或b 7.1 8.65,89

三、应用题(第78页)
1.10 9
2.执行结果:
11
0
0
12
1

5 第4章 顺序结构程序设计
一、单项选择题(第90页)
1-5.DCDAD 6-10.BACBB

二、填空题(第91页)
1.一 ;2. 5.169000 3.(1)-2002500 (2)I=-200,j=2500 (3)i=-200
j=2500 4.a=98,b=765.000000,c=4321.000000 5.略 6.0,0,3 7.3 8.scanf("%lf%lf%lf",&a,&b,&c); 9. 13 13.000000,13.000000 10.a=a^c;c=c^a;a=a^c;(这种算法不破坏b的值,也不用定义中间变量。)

三、编程题(第92页)
1.仿照教材第27页例2-1。
2.源程序:
main()
{int h,m;
scanf("%d:%d",&h,&m);
printf("%d\n",h*60+m);}
执行结果:
9:23
563
3.源程序:
main()
{int a[]={-10,0,15,34},i;
for(i=0;i<=3;i++)
printf("%d\370C=%g\370F\t",a[i],a[i]*1.8+32);}
执行结果:
-10℃=14°F 0℃=32°F 15℃=59°F 34℃=93.2°F
4.源程序:
main()
{double pi=3.14159265358979,r=5;
printf("r=%lg A=%.10lf S=%.10lf\n",r,2*pi*r,pi*pi*r);}
执行结果:
r=5 A=31.4159265359 S=49.3480220054
5.源程序:
#include "math.h";
main()
{double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if (a+b>c&&a+c>b&&b+c>a)
{double s=(a+b+c)/2;
printf("SS=%.10lf\n",sqrt(s*(s-a)*(s-b)*(s-c)));}
else printf("Data error!");}
执行结果:
4 5 6
SS=9.9215674165
6.源程序:
main()
{int a=3,b=4,c=5;float d=1.2,e=2.23,f=-43.56;
printf("a=%3d,b=%-4d,c=**%d\nd=%g\ne=%6.2f\nf=%-10.4f**\n",a,b,c,d,e,f);}
7.源程序:
main()
{int a,b,c,m;
scanf("%d %d %d",&a,&b,&c);
m=a;a=b;b=c;c=m;
printf("%d %d %d\n",a,b,c);}
执行结果:
5 6 7
6 7 5
8.源程序:
main()
{int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("average of %d,%d and %d is %.2f\n",a,b,c,(a+b+c)/3.);
执行结果:
6 7 9
average of 6,7 and 9 is 7.33
9.不能。修改后的源程序如下:
main()
{int a,b,c,x,y;
scanf("%d %d %d",&a,&b,&c);
x=a*b;y=x*c;
printf("a=%d,b=%d,c=%d\n",a,b,c);
printf("x=%d,y=%d\n",x,y);}

6 第5章 选择结构程序设计
一、单项选择题(第113页)
1-4.DCBB 5-8.DABD

二、填空题(第115页)
1.非0 0 2.k==0
3.if (abs(x)>4) printf("%d",x);else printf("error!");
4.if((x>=1&&x<=10||x>=200&&x<=210)&&x&1)printf("%d",x);
5.k=1 (原题最后一行漏了个d,如果认为原题正确,则输出k=%。)
6. 8! Right!11 7.$$$a=0 8.a=2,b=1

三、编程题(第116页)
1.有错。正确的程序如下:
main()
{int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("min=%d\n",a>b?b>c?c:b:a>c?c:a);}
2.源程序:
main()
{unsigned long a;
scanf("%ld",&a);
for(;a;printf("%d",a%10),a/=10);}
执行结果:
12345
54321
3.(1)源程序:
main()
{int x,y;
scanf("%d",&x);
if (x>-5&&x<0)y=x;
if (x>=0&&x<5)y=x-1;
if (x>=5&&x<10)y=x+1;
printf("%d\n",y);}
(2)源程序:
main()
{int x,y;
scanf("%d",&x);
if(x<10) if(x>-5) if(x>=0) if(x>=5)y=x+1;
else y=x-1; else y=x;
printf("%d\n",y);}
(3)源程序:
main()
{int x,y;
scanf("%d",&x);
if(x<10) if(x>=5)y=x+1;
else if(x>=0)y=x-1;
else if(x>-5)y=x;
printf("%d\n",y);}
(4)源程序:
main()
{int x,y;
scanf("%d",&x);
switch(x/5)
{case -1:if(x!=-5)y=x;break;
case 0:y=x-1;break;
case 1:y=x+1;}
printf("%d\n",y);}
4.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程序设计。
现给出Delphi源程序和C++ Builder源程序。
Delphi源程序:
procere TForm1.Button1Click(Sender: TObject);
begin
edit3.Text:=format('%.0f天',[strtodate(edit2.text) -strtodate(edit1.text)]);
end;
procere TForm1.FormCreate(Sender: TObject);
begin
Edit2.Text:=datetostr(now);
button1click(form1)
end;
C++ Builder源程序:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit3->Text=IntToStr(StrToDate(Edit2->Text)-StrToDate(Edit1->Text))+"天";
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit2->Text=DateToStr(Now());
Button1Click(Form1);
}
执行结果:(运行于Windows下) http://img378.photo.163.com/nxgt/41463572/1219713927.jpg

5.源程序:
main()
{unsigned a,b,c;
printf("请输入三个整数:");
scanf("%d %d %d",&a,&b,&c);
if(a&&b&&c&&a==b&&a==c)printf("构成等边三角形\n");
else if(a+b>c&&a+c>b&&b+c>a)
if(a==b||a==c||b==c)printf("构成等腰三角形\n");
else printf("构成一般三角形\n");
else printf("不能构成三角形\n");}
执行结果:
请输入三个整数:5 6 5
构成等腰三角形
6.源程序:
main()
{int x,y;
scanf("%d",&x);
if(x<20)y=1;
else switch(x/60)
{case 0:y=x/10;break;
default:y=6;}
printf("x=%d,y=%d\n",x,y);}
7.源程序:
main()
{unsigned m;float n;
scanf("%d",&m);
if(m<100)n=0;
else if(m>600)n=0.06;
else n=(m/100+0.5)/100;
printf("%d %.2f %.2f\n",m,m*(1-n),m*n);}
执行结果:
450
450 429.75 20.25
8. 2171天(起始日期和终止日期均算在内)
本题可利用第4小题编好的程序进行计算。把起始日期和终止日期分别打入“生日”和“今日”栏内,单击“实足年龄”按钮,将所得到的天数再加上1天即可。
9.源程序:
#include "math.h";
main()
{unsigned long i;
scanf("%ld",&i);
printf("%ld %d\n",i%10,(int)log10(i)+1);}
执行结果:
99887
7 5
10.源程序:
main()
{unsigned long i;unsigned j[10],m=0;
scanf("%ld",&i);
for(;i;){j[m++]=(i+2)%10;i/=10;}
for(;m;m--)i=i*10+j[m-1];
printf("%ld\n",i);}
执行结果:
6987
8109
(注:要加密的数值不能是0或以0开头。如果要以0开头需用字符串而不能是整数。)

7 第6章 循环结构程序设计
一、单项选择题(第142页)
1-4.BCCB 5-8.CBCA

二、填空题(第143页)
1.原题可能有误。如无误,是死循环 2.原题有误。如果把b=1后面的逗号改为分号,则结果是8。 3.20 4.11 5. 2.400000 6.*#*#*#$ 7.8 5 2 8.①d=1.0 ②++k ③k<=n 9.①x>=0 ②x<amin

三、编程题(第145页)
1. 源程序:
main()
{int i=1,sum=i;
while(i<101){sum+=i=-i-2;sum+=i=-i+2;}
printf("%d\n",sum);}
执行结果:
51
2.源程序:
main()
{double p=0,n=0,f;int i;
for(i=1;i<=10;i++)
{scanf("%lf",&f);
if (f>0)p+=f; else n+=f;}
printf("%lf %lf %lf\n",p,n,p+n);}
3.源程序:
main()
{unsigned a;
scanf("%ld",&a);
for (;a;printf("%d,",a%10),a/=10);
printf("\b \n");}
执行结果:
23456
6,5,4,3,2
4.源程序:
main()
{unsigned long a,b,c,i;
scanf("%ld%ld",&a,&b);
c=a%1000;
for(i=1;i<b;i++)c=c*a%1000;
if(c<100)printf("0");
if(c<10)printf("0");
printf("%ld\n",c);}
执行结果:
129 57
009
5.略
6.原题提供的计算e的公式有误(前面漏了一项1)。正确的公式是e= 1 + 1 + 1/2! + 1/3! + … + 1/n! + …
(1)源程序:
main()
{double e=1,f=1;int n;
for(n=1;n<=20;n++){f/=n;e+=f;}
printf("e=%.14lf\n",e);}
执行结果:
e=2.71828182845905
(2)源程序:
main()
{double e=1,f=1;int n;
for(n=1;f>1e-4;n++){f/=n;e+=f;}
printf("e=%.4f\n",e);}
执行结果:
e=2.7183
7.源程序:
main()
{unsigned long a=0,b=1,c=0;int i,d;
scanf("%d",&d);
for (i=1;i<=(d+2)/3;i++)
printf("%10ld%10ld%10ld",a,b,(a+=b+c,b+=c+a,c+=a+b));}
本题还可以用递归算法(效率很低),源程序如下:
unsigned long fun(int i)
{return i<=3?i:fun(i-1)+fun(i-2)+fun(i-3);}
main()
{int i,d; scanf("%d",&d);
for(i=1;i<=d;i++)
printf("%10ld",fun(i));}
执行结果:
15
1 2 3 6 11 20 37 68
125 230 423 778 1431 2632 4841
8.源程序:
main()
{int i;
for(i=1010;i<=9876;i+=2)
if(i/100%11&&i%100%11&&i/10%100%11&&i/1000!=i%10&&i/1000!=i/10%10&&i/100%10!=i%10)printf(" %d",i);}
执行结果:
1024 1026 1028 1032 1034 1036 …… …… 9874 9876
9.源程序:
main()
{int i,j,k;
printf("apple watermelon pear\n");
for(i=1;i<=100;i++)
for(j=1;j<=10;j++)
if((k=100-i-j)*2==400-i*4-j*40)
printf("%4d%7d%9d\n",i,j,k);}
执行结果:
apple watermelon pear
5 5 90
24 4 72
43 3 54
62 2 36
81 1 18
10.源程序:
#include "stdio.h";
#define N 4 /* N为阶数,可以改为其他正整数 */
main()
{int m=N*2,i,j;
for(i=1;i<m;printf("\n"),i++)
for(j=1;j<m;
putchar(N-abs(i-N)<=abs(j++-N)?' ':'*'));}
如果把N值改为5,则执行结果如下:
*
***
*****
*******
*********
*******
*****
***
*

作者:宁西贯通 2006-5-7 23:41 回复此发言

--------------------------------------------------------------------------------

8 说明
注意:上面最后一题的输出结果应该是由星号组成的一个菱形,

9 第7章 数 组
一、单项选择题(第192页)
1-4.BBCC 5-8.AABA

二、填空题(第194页)
1.1
2
4
8
16
32
64
128
256
512
2. ①a[age]++ ②i=18;i<26
3. ①break ②i==8
4. ①a[i]>b[j] ②i<3 ③j<5
5. ①b[j]=a[j][0] ②b[j]<a[j][k] 6.a[k++]=a[j]

三、编程题(第196页)
1.源程序:
main()
{int a[4][4],i,j,s=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(i==j||i+j==3)s+=a[i][j];
printf("%d\n",s);} /* 注:5×5矩阵不能照此计算! */
执行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
68
2. 源程序:
main()
{int i,a[36];
a[0]=2;
for(i=1;i<=29;i++)a[i]=a[i-1]+2;
for(;i<=35;i++)a[i]=a[(i-30)*5+2];
for(i=0;i<=35;i++)printf("%d\t",a[i]);}
执行结果:
2 4 6 8 10 12 14 16 18 20
22 24 26 28 30 32 34 36 38 40
42 44 46 48 50 52 54 56 58 60
6 16 26 36 46 56
3. 源程序:
#include "stdlib.h"
#include "time.h"
main()
{int a[30],i,m=0;
randomize();
for(i=0;i<=29;i++)
{a[i]=rand();
if(m<a[i])m=a[i];
printf("%d\t",a[i]);}
for(i=0;i<=29;i++)if(a[i]==m)a[i]=-1;
printf("\n-----------------\n");
for(i=0;i<=29;i++)
if(~a[i])printf("%d\t",a[i]);
printf("\n");}
执行结果:
20679 29377 18589 9034 27083 4959 3438 5241 32278 23344
32499 29305 22340 5927 13031 2161 2583 31855 22977 14283
4851 22038 6992 11394 20887 27381 6293 18347 16414 10210
-----------------
20679 29377 18589 9034 27083 4959 3438 5241 32278 23344
29305 22340 5927 13031 2161 2583 31855 22977 14283 4851
22038 6992 11394 20887 27381 6293 18347 16414 10210
4.源程序:
main()
{int i,n=0,b[16];
scanf("%d",&i);
for(;i;i>>=1)b[n++]=i&1;
for(;n;)printf("%d",b[--n]);}
执行结果:
9876
10011010010100
本题也可以不用数组。源程序如下:
#include "stdio.h"
main()
{int i,n;
scanf("%d",&i);
for(n=16;n;n--)
{asm ROL i,1
putchar(i&1|48);}
} /* ROL是循环左移的汇编指令 */
5. 源程序:
#include "stdlib.h"
#include "time.h"
#define M 5
#define N 6
main()
{int a[M][N],i,j,t[M];
randomize();
/*生成M行N列随机数*/
for(i=0;i<M;printf("\n"),t[i++]=0)
for(j=0;j<N;j++)
printf("%4d",a[i][j]=random(50));
/*找出每行的最小数,t[M]是第M行的最小数所在的列数*/
for(i=0;i<M;i++)
for(j=0;j<N;j++)
if(a[i][t[i]]>a[i][j])t[i]=j;
/*比较每个最小数在其所在的列上是否也是最小*/
for(j=0;j<M;j++)
for(i=0;i<M;i++)
{if(i==j)continue;
if(a[j][t[j]]>a[i][t[j]])
{t[j]=-1;break;}
}
printf("-------------------\n");
/*输出在行和列上均为最小的数*/
for(i=0;i<M;i++)
if(t[i]!=-1)
printf("a[%d,%d]=%d\n",i,t[i],a[i][t[i]]);
}
执行结果:
13 19 13 20 0 1
20 41 6 16 35 30
3 5 37 8 23 15
6 36 24 29 18 1
1 5 28 21 46 34
-------------------
a[0,4]=0
a[1,2]=6
a[3,5]=1
a[4,0]=1
6. 源程序:
#include "stdlib.h"
#include "time.h"
#define M 5
#define N 7
main()
{int a[M][N],i,j,t=0;
randomize();
for(i=0;i<M;i++)
{a[i][N-1]=0;
for(j=0;j<N-1;j++)
{printf("%4d",a[i][j]=random(91)+10);
a[i][N-1]+=a[i][j];}
printf("%4d\n",a[i][N-1]);}
for(i=1;i<M;i++)
if(a[i][N-1]>a[t][N-1])t=i;
if(t)for(j=0;j<N;j++)
{i=a[0][j];a[0][j]=a[t][j];a[t][j]=i;}
printf("-----------------\n");
for(i=0;i<M;printf("\n"),i++)

10 第7章 数 组
for(j=0;j<N;j++)
printf("%4d",a[i][j]);
}
执行结果:
89 17 32 95 35 20 288
39 48 22 27 73 22 231
51 87 39 71 84 46 378
84 94 97 77 27 26 405
69 50 56 89 37 46 347
-----------------
84 94 97 77 27 26 405
39 48 22 27 73 22 231
51 87 39 71 84 46 378
89 17 32 95 35 20 288
69 50 56 89 37 46 347
7. 源程序:
#include "stdlib.h"
#include "time.h"
#define M 5
#define N 6
main()
{int a[M][N],i,j;
struct data{int value,x,y;}max,min;
max.value=0;min.value=100;
randomize();
for(i=0;i<M;printf("\n"),i++)
for(j=0;j<N;j++)
{printf("%4d",a[i][j]=random(100)+1);
if(max.value<a[i][j])
{max.value=a[i][j];max.x=i;max.y=j;}
if(min.value>a[i][j])
{min.value=a[i][j];min.x=i;min.y=j;}
}
printf("-----------------\n");
i=a[0][N-1];a[0][N-1]=max.value;a[max.x][max.y]=i;
i=a[M-1][0];a[M-1][0]=min.value;a[min.x][min.y]=i;
for(i=0;i<M;printf("\n"),i++)
for(j=0;j<N;j++)
printf("%4d",a[i][j]);
}
执行结果:
51 53 74 65 30 40
30 26 50 6 61 27
47 16 54 58 76 19
57 74 44 92 71 48
73 57 60 32 73 67
-----------------
51 53 74 65 30 92
30 26 50 73 61 27
47 16 54 58 76 19
57 74 44 40 71 48
6 57 60 32 73 67
9. 源程序:
main()
{char s[255];int i,j,b=1;
printf("Input a string:");
scanf("%s",s);
i=strlen(s);
for(j=1;j<=i/2;j++)
b=b&&(s[j-1]==s[i-j]);
printf(b?"Yes\n":"No\n");}
执行结果:
Input a string:level
Yes
10. 源程序:
main()
{char s[255],t,max=0,min=0,l,i;
printf("Input a string(length>4):");
gets(s);
l=strlen(s);
for(i=0;i<l;i++)
{if(s[max]<s[i])max=i;if(s[min]>s[i])min=i;}
t=s[1];s[1]=s[max];s[max]=t;if(min==1)min=max;
t=s[l-2];s[l-2]=s[min];s[min]=t;
printf("%s\n",s);}
执行结果:
Input a string(length>4):C++Builder
Cu+Beild+r
11. 源程序:
main()
{char m[13][10]={"****","January","February","March",
"April","May","June","July","August","September",
"October","November","December"};
int i,j,k,a,s,n;
printf("Please input an integer(100..999):");
scanf("%d",&n);
printf("%d:%d+%d+%d=%d, %d%%13=%d, %s\n", n,i,j,k,s,s,a,m[a=((s=(i=n/100)+(j=n/10%10)+(k=n%10))%13)]);}
执行结果:
Please input an integer(100..999):539
539:5+3+9=17, 17%13=4, April

11 第8章 函 数
一、单项选择题(第241页)
1-5.BCCAA 6-10.CCDDD 11-15.ACACB

二、填空题(第243页)
1.看不出原题的意图。因为要计算1~n的累加和,n应是一个≥1的正整数。可是题目中却出现了n=0的情况。除非另加规定当n=0时1~n的累加和为0,或者把原题中的计算式改为计算0~n的累加和。据此猜测,原题应填为:①return(0) ②return(n+sum(n-1))
根据题意,如下程序较为合理:
int sum(int n)
{if(n<=0)return(-1); /* -1是出错标志 */
else if(n==1)return(1);
else return(n+sum(n-1));}
2. ①return(1) ②return(n*facto(n-1))

三、编程题(第244页)
3.源程序:
main()
{int i,a,b,c;
for(i=100;i<999;i++)
if((a=i/100)*a*a+(b=i/10%10)*b*b+(c=i%10)*c*c==i)
printf("%d\t",i);}
执行结果:
153 370 371 407
8.源程序(非递归算法):
#define P 13 /* P可以改为其他正整数 */
main()
{int a[P],r,c;
for(r=0;r<=P;r++)
{a[r]=1;
for(c=r-1;c>=1;a[c--]+=a[c-1]);
printf("%*d",(P-r)*3+1,a[0]);
for(c=1;c<=r;printf("%6d",a[c++]));
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
1 10 45 120 210 252 210 120 45 10 1
1 11 55 165 330 462 462 330 165 55 11 1
1 12 66 220 495 792 924 792 495 220 66 12 1
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
9.源程序(递归算法):
#include "stdio.h"
void printOCT(unsigned long n)
{unsigned long i;
if(i=n>>3)printOCT(i);
putchar((n&7)+48);}
main()
{unsigned long i;
scanf("%ld",&i);
printOCT(i);}
执行结果:
1234567890
11145401322
本题也可以不用递归算法,源程序请参考第7章第三题4。

12 回复:【C语言】《C语言程序设计教程(第二版)》习题答案
但是不同时间印刷的版本课后题不太一样呢,象我们的是1999年12月第2版,2005年12月第69次印刷的。没有选择填空,应用题和楼主不知道有多少相同的,因为看不到原题。这个比较麻烦呢。

作者:210.77.204.* 2006-5-9 18:38 回复此发言

--------------------------------------------------------------------------------

13 回复:【C语言】《C语言程序设计教程(第二版)》习题答案
你对照一下主编和出版社,看看对吗?(见说明的第一条。)
我不是说叫你有问题另发帖子吗?

14 第9章 指 针
一、单项选择题(第276页)
1-5.DCDAC 6-10.CCABC 11-16.AABBB 16-20.DCDBD

二、填空题(第278页)
1.①int * ②*z
2.*p++
3.①'\0' ②++
4.①q=p+1 ②q<p+10 ③*q>max ④*q<min

三、编程题(第280页)
7.源程序:
main()
{int i=0;char c[20];
do{scanf("%s",&c);i++;}
while(strcmp(c,"stop"));
printf("%d\n",i);}
执行结果:
This car ran form Nanyang
to Luoyang without a stop
10
9.源程序:
main()
{char s[255],c[255]={0};int i;
gets(s);
for(i=0;s[i];c[s[i++]]++);
for(i=0;i<255;i++)
if(c[i])printf("%c=%d\t",i,c[i]);}
执行结果:
abcedabcdcd
a=2 b=2 c=3 d=3 e=1

⑤ 大学C语言试题6,不懂,我要详细的解答~谢谢

先分析那个结构体,类型名称为st,只含有两个内容,(1)一个字符c;(2)一个字符串指针s。

再解读那个函数char *f(strct st t):

这个函数的返回值是一个字符迹银串指针,它的自变量是一个结构体变量t(类型为st)。

这的作用是什么?看内部,while(t.s[k]!='')是一个循环语句,它遍历t变量中的s字符串的每一个字符戚早,干什么呢?看循环体共两句:


if(t.s[k]==t.c)returnt.s+k;
k++;
}

第一句是把s字符串的第k个字符与c做比较,如果相等,则返回s那个指针,只不过不是第一个字符,而是出现相等的那个字符。注意,一旦相等,就跳出这个函数啦!!

第二句则是让k加1,也就是继续比较下一个字符。

如果很不幸,一直把s的字符全部比较完,也没有一个跟c相同的,那就循环结束了,执行后面的那一句:return t.s。这一次是返回s那个指针,而且是指向第一个字符的了~~

最后分析一下主函数main,定义了一个st类型的数组a,共有4个元素,a[0]~a[3],每一个元素是都有不同的c和s都依次进行了定义。

然后是一个循环,依次用a[0]~a[3]做参数调用f函数,并打印返回的值——从前面的分析我们知道每一次调用都返回一个字符串的指针——也就是打印这个字符串,每个字符串占一行。共打印四行。

分析完程序之后,我们再来看题目:

注意题目有一点bug,21、22、23、24题的问题应该是第一、二、三、四行输出的内容,题目表述都问第一行的输出内容,那不是答案一样嘛?所以应该是题目高州雀印错了。

其实每一行输出的内容只跟结构体变量a[k]中的c和s两个变量有关。下面逐行分析:

第一行:c=1,s=123,k=0时第一个字符比较就相等了,所以返回s+k,也就是指向s的第一个字符的指针,所以输出的内容是全部s:123,是为选项C。

第二行:c=2,s=321,比较到第二个字符2(k=1)就相等了,所以返回s+1,也就是指向s的第二个字符2的指针,所以输出的内容是s从2开始的后面全部字符:21,是为选项A。

第三行:c=3,s=123,比较到第三个字符3(k=2)就相等了,所以返回s+2,也就是指向s的第三个字符3的指针,所以输出的内容是s从3开始的后面全部字符:(非常不幸只有一个)3,是为选项A。

第四行:c=4,s=321,比较到最后一个字符也没有发现4,所以返回s,也就是指向s的指针,所以输出的内容是全部s:321,是为选项D。

⑥ 求<c语言程序设计>的答案

(第一题)#include <stdio.h>
void main()
{
int gy(int m, int n);
int x,y,max, min;

printf("请输入两个大于0的正整数,以空格或者回车间隔:\n");
scanf("%d%d",&x,&y);
while(x<1 || y<1)
{
printf("输入数据不正确,请重新输入。\n");
printf("请输入两个大于0的正整数,以空格或者回车间隔:\n");
scanf("%d%d",&x,&y);
}
max=gy(x,y);
min=x*y/max;
printf("%d与%d的最大公约数是:%d,最小公倍数是:%d\n",x,y,max,min);
}
int gy(int m, int n)
{
int max, t;
while(m%n != 0) // while(m%n)
{
t=n; n=m%n; m=t;
}
max=n;
return max;
}
第二题#include <stdio.h>
#include <math.h>
void main()
{
void root(double a, double b, double c);
double a, b, c;
printf("请输入一元二次方程的系数,用空格或者回车间隔:\n");
scanf("%lf%lf%lf",&a,&b,&c);
root(a,b,c);
}
void root(double a, double b, double c)
{
double disc, x1, x2, real , imag;
disc = b*b-4*a*c;
if(disc>0)
{
x1 = (-b+sqrt(disc))/(2*a);
x2 = (-b-sqrt(disc))/(2*a);
printf("方程有两个实根,分别是:%f 与 %f\n", x1, x2);
}
else if(disc==0)
{
x1 = (-b)/(2*a);
printf("方程有一个实根,它是:%f\n ", x1);
}
else
{
real=(-b)/(2*a);
imag=sqrt(-disc)/(2*a);
printf("方程有两个虚根,分别是:%f+%fi, %f-%fi\n", real,imag,real,imag);
}
}
测试1:请输入一元二次方程的系数,用空格或者回车间隔:1 2 1
方程有一个实根,它是:-1.000000
测试2:请输入一元二次方程的系数,用空格或者回车间隔:1 6 5
方程有两个实根,分别是:-1.000000 与 -5.000000
测试3:请输入一元二次方程的系数,用空格或者回车间隔:1 1 1
方程有两个虚根,分别是:-0.500000+0.866025i, -0.500000-0.866025i
第三题#include <stdio.h>
#include <math.h>
void main()
{
int isprime(int n);
int n;
scanf("%d",&n);
while(n<2)
{
printf("Please reinput(n>=2):");
scanf("%d",&n);
}
if(isprime(n))
printf("%d是素数。\n",n);
else
printf("%d不是素数。\n",n);
}
int isprime(int n)
{
int i,k=sqrt(n);
for(i=2;i<=k;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
第四题#include <stdio.h>
#include <math.h>
void main()
{
void printA(int a[3][3]);
void reverse(int a[3][3]); //转置函数的声明
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
printf("原二维数组:\n");
printA(a);
reverse(a); //函数转置
printf("转置后的数组:\n");
printA(a);
}
void printA(int a[3][3])
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%6d",a[i][j]);
}
printf("\n");
}
}
void reverse(int a[3][3]) //函数转置的定义
{
int i,j,t;
for(i=0;i<3;i++)
{
for(j=0;j<i;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
}
第五题#include <stdio.h>
#include <string.h>
void main()
{
char str[30];
void fanxu(char *p);
printf("请输入一个字符串:");
gets(str);
printf("进行反序......\n");
fanxu(str);
printf("反序后的字符串:");
puts(str);
}
void fanxu(char *p)
{
int len=strlen(p);
char *q,c;
q=p+len-1; //字符串最后一个字符位置
for(;p<q;p++,q--)
{
c=*p; *p=*q; *q=c;
}

}
第六题#include <stdio.h>
#include <string.h>
void main()
{
char str1[60],str2[30];
void str_(char *p, char *q);
printf("请输入第一个字符串:");
gets(str1);
printf("请输入第二个字符串:");
gets(str2);
str_(str1, str2);
printf("连接后的字符串:");
puts(str1);
}
void str_(char *p, char *q)
{
for(;*p!='\0';p++);
for(;*q!='\0';p++,q++)
{
*p=*q;
}
*p='\0';
}
(0808)#include <stdio.h>
#include <string.h>
void main()
{
char str[80];
void insert(char str[]); //插入空格的函数
printf("请输入一个字符串:");
gets(str);
insert(str); //插入空格
puts(str); //输出字符串
}
void insert(char str[])
{
int len, i;
len=strlen(str);
for(i=len; i>0; i--) // 设置空格
{
str[2*i]=str[i];
str[2*i-1]=' ';
}
}
(0809)#include <stdio.h>
int letter; //字母个数
int digit; //数字个数
int space; //空格个数
int others; //其它字母个数
void main()
{
void count(char str[]); //统计个数的函数的声明
char s[81];
printf("请输入一个字符串:");
gets(s);
letter=0; digit=0;
space=0; others=0;
count(s);
printf("字符串中共有 %d 个字母,%d 个数字,%d 个空格,%d个其它字母。\n",letter,digit,space,others);
}
void count(char str[]) //统计个数的函数的定义
{
int i;
char c;
for(i=0; str[i]!='\0';i++)
{
c=str[i];
if(c>='a' && c<='z' || c>='A' && c<='Z')
{ letter++; }
else if(c>='0' && c<='9')
{ digit++; }
else if(c==' ')
{ space++; }
else
{ others++; }
}
}
(0810)#include <stdio.h>
#include <string.h>
void main()
{
int i;
char line[81];
int alphabetic(char c); //判断一个字符是空格还是其它字母
int longest(char str[]);//寻找最长单词的起始位置
printf("请输入一行字符串:\n");
gets(line);
printf("最长的字符串是:");
for(i=longest(line); alphabetic(line[i]); i++)
{ printf("%c",line[i]);}
printf("\n");
}
int alphabetic(char c) //如果为空格返回0,其它字母返回1
{
if(c!=' ')
return 1;
else
return 0;
}
int longest(char str[])
{
int len=0; // 记录每一个单词的长度
int length=0; // 记录最长单词的长度
int flag=1; // 其值为0时表示当前位置处于字符串中,为1时表示当前位置为空格
int place=0; // 记录最长字符串(单词)的起始位置
int point; // 每个字符串的起始位置
for(int i=0; i<=strlen(str); i++)
{
if(alphabetic(str[i])) //如果当前位置为非空格
{
if(flag) //如果前一字符为空格
{
point = i; // 设置当前单词的起始位置
flag = 0; // flag设为0,表示处于单词中
}
else //如果前一字符为非空格
{ len++; } // 单词的长度加1
}
else //当前位置为空格
{
flag = 1; //flag设为1,表示当前位置为空格
if(len >= length) //如果最近单词的长度大于最长长度
{
length = len;
place = point; //设置最长单词的起始位置
len = 0; //len归0,重新开始计算单词的长度
}
}
}
return place;
}
(0811)#include <stdio.h>
#include <string.h>
void main()
{
void inputNum(int a[], int n);
void outputNum(int a[], int n);
void bubble(int a[], int n);
int a[11], n;
printf("请输入你要排序的数的个数:");
scanf("%d",&n);
inputNum(a,n);
outputNum(a,n);
bubble(a,n);
printf("从小到大排序为:\n");
outputNum(a,n);
}
void inputNum(int a[], int n)
{
int i;
for(i=1;i<=n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
}
void outputNum(int a[], int n)
{
int i;
for(i=1;i<=n;i++)
{
printf("%6d",a[i]);
}
printf("\n");
}
void bubble(int a[], int n)
{
int i,j,t;
for(i=1;i<=n-1;i++)
{
for(j=1; j<=n-i; j++)
{
if(a[j]>a[j+1])
{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
}
}
}
(0813)#include <stdio.h>
void main()
{
double lrd(int, double);
double x;
int n;
printf("请输入n阶勒让德多项式的阶数:\n");
scanf("%d",&n);
printf("请输入x的值:\n");
scanf("%lf",&x);
printf("参数为%f 的 %d 阶勒让德多项式的值为 %f.\n",x,n,lrd(n,x));
}
double lrd(int n, double x)
{
if(n==0)
return 1;
else if(n==1)
return x;
else
return ((2*n-1)*x - lrd(n-1,x) -(n-1)*lrd(n-2,x))/n;
}
/*
测试1:请输入n阶勒让德多项式的阶数:0请输入x的值:99.99参数为99.990000 的 0 阶勒让德多项式的值为 1.000000.
测试2:请输入n阶勒让德多项式的阶数:1请输入x的值:99.99
参数为99.990000 的 1 阶勒让德多项式的值为 99.990000.
测试3:请输入n阶勒让德多项式的阶数:2
请输入x的值:99.99 参数为99.990000 的 2 阶勒让德多项式的值为 99.490000.
测试4:请输入n阶勒让德多项式的阶数:10
请输入x的值:1.1
参数为1.100000 的 10 阶勒让德多项式的值为 0.888677.
(0817)#include <stdio.h>
void main()
{
int num;
void convert(int num); // 转换为字符串的函数的声明
printf("请输入一个整数:\n");
scanf("%d",&num);
printf("转换成字符串:");
if(num<0)
{
putchar('-');
num = -num;
}
convert(num);
printf("\n");
}
void convert(int n)
{
int i;
if((i = (n/10)) != 0)
{
convert(i);
}
putchar(n%10 + '0');
}
(0818)#include <stdio.h>
int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
void main()
{
int year,month,day;
int days;
int count(int year,int month, int day);
int leap(int y);
printf("请输入年份:");
scanf("%d",&year);
while(year<=0)
{
printf("年份不能为负,请重新输入:");
scanf("%d",&year);;
}
if(leap(year)) //如果为闰年,2月份的天数为29
{ d[2]=29; }
printf("输入月份:");
scanf("%d",&month);
while(month<1 || month>12)
{
printf("月份在1月和12月之间,你的输入有误,请重新输入:");
scanf("%d",&month);
}
printf("输入日数:");
scanf("%d",&day);;
while(day<1 || day >d[month])
{
printf("日数应在1和%d之间,请重新输入:",d[month]);
scanf("%d",&day);
}
days=count(year,month,day);
printf("%d年%d月%d日是该年的第%d天\n",year,month,day,days);
}
int leap(int y)
{
if(y%4==0 && y%100!=0 || y%400==0)
return 1;
else
return 0;
}
int count(int year,int month, int day)
{
int i,days=0;
for(i=1; i<month; i++)
{ days += d[i]; }
days+=day;
return days;
}
(08050)#include <stdio.h>
#include <string.h>
void main()
{
char str[30];
void fanxu(char str[]);
printf("请输入一个字符串:");
gets(str);
printf("进行反序......\n");
fanxu(str);
printf("反序后的字符串:");
puts(str);
}
void fanxu(char str[])
{
int len=strlen(str);
int i,j;
char c;
i=0; j=len-1;//i,j分别存储第一个字符和最后一个字符的下标
for(;i<j; i++,j--)
{
c=str[i]; str[i]=str[j]; str[j]=c;
}
}
(08051)#include <stdio.h>
#include <string.h>
void main()
{
char str[30];
void fanxu(char s[]);
printf("请输入一个字符串:");
gets(str);
printf("进行反序......\n");
fanxu(str);
printf("反序后的字符串:");
puts(str);
}
void fanxu(char s[])
{
int len=strlen(s);
int i;
char c;
for(i=0;i<=len/2;i++)
{
c=s[i];
s[i]=s[len-i-1];
s[len-i-1]=c;
}
}
(08061)#include <stdio.h>
#include <string.h>
void main()
{
char str1[60],str2[30];
void str_(char s1[], char s2[]);
printf("请输入第一个字符串:");
gets(str1);
printf("请输入第二个字符串:");
gets(str2);
str_(str1, str2);
printf("连接后的字符串:");
puts(str1);
}
void str_(char s1[], char s2[])
{
int i,j;
for(i=0;s1[i];i++); // s1[i]!='\0'
for(j=0;s1[i]=s2[j];i++,j++);
// (s1[i]=s2[j])!='\0'
}
(08110)#include <stdio.h>
#include <string.h>
void main()
{
void inputNum(char a[], char n);
void outputNum(char a[], char n);
void bubble(char a[], char n);
char a[11], n;
printf("请输入你要排序的数的个数:");
scanf("%d",&n);
inputNum(a,n);
outputNum(a,n);
bubble(a,n);
printf("从小到大排序为:\n");
outputNum(a,n);
}
void inputNum(char a[], char n)
{
char i;
printf("请连续输入%d个字符:",n);
fflush(stdin); //一般在输入字符或者字符串之前要清空输入缓冲区
for(i=1;i<=n;i++)
{
scanf("%c",&a[i]);
}
}
void outputNum(char a[], char n)
{
char i;
for(i=1;i<=n;i++)
{
printf("%2c",a[i]);
}
printf("\n");
}
void bubble(char a[], char n)
{
char i,j,t;
for(i=1;i<=n-1;i++)
{
for(j=1; j<=n-i; j++)
{
if(a[j]>a[j+1])
{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
}
}
}
(08112)#include <iostream.h>
#include <iomanip.h>
void main()
{
void inputNum(int a[], int n);
void outputNum(int a[], int n);
void bubble(int a[], int n);
int a[11], n;
cout<<"请输入你要排序的数的个数:";
cin>>n;
while(n<1 || n>10)
{
cout<<"请重新输入,(1<=n<=10):";
cin>>n;
}
inputNum(a,n);
outputNum(a,n);
bubble(a,n);
cout<<"从小到大排序为:\n";
outputNum(a,n);
}
void inputNum(int a[], int n)
{
int i;
for(i=1;i<=n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
}
void outputNum(int a[], int n)
{
int i;
for(i=1;i<=n;i++)
{
cout<<setw(6)<<a[i];
}
cout<<endl;
}
void bubble(int a[], int n)
{
int i,j,t;
for(i=1;i<=n-1;i++)
{
for(j=1; j<=n-i; j++)
{
if(a[j]>a[j+1])
{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
}
}
}
(08181)#include <iostream.h>
#include <iomanip.h>

int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
void main()
{
int year,month,day;
int days;
int count(int year,int month, int day);
int leap(int y);
cout<<"请输入年份:";
cin>>year;
while(year<=0)
{
cout<<"年份不能为负,请重新输入:";
cin>>year;
}
if(leap(year)) //如果为闰年,2月份的天数为29
{ d[2]=29; }
cout<<"输入月份:";
cin>>month;
while(month<1 || month>12)
{
cout<<"月份在1月和12月之间,你的输入有误,请重新输入:";
cin>>month;
}
cout<<"输入日数:";
cin>>day;
while(day<1 || day >d[month])
{
cout<<"日数应在1和"<<d[month]<<"之间,请重新输入:"<<endl;
cin>>day;
}
days=count(year,month,day);
cout<<year<<"年"<<month<<"月"<<day<<"日是该年的第"<<days<<"天\n";
}
int leap(int y)
{
if(y%4==0 && y%100!=0 || y%400==0)
return 1;
else
return 0;
}
int count(int year,int month, int day)
{
int i,days=0;

for(i=1; i<month; i++)
{ days += d[i]; }
days+=day;
return days;
}

⑦ 大学计算机C语言第一张图第二题第八小问,第二张图第四题,第三张图四,五题。求解答过程

第一问:
x=5,x%=x 式子为:x=x%x,x除以x取余为0;所以答案为悄缓亏0。
第二问:
m=a/b=25.5/3.0=8(m为长整型,保留整数位),n=m+i/j=m+(-1.6)(i,j为哪配整型,保留整数为负一)=7;所以答案为7.
第三问:n++为:n=n+1;所以启神答案为:65536。

⑧ <C语言程序设计教程>习题答案 清华大学出版社出版!主编是覃俊的

谭的这本书,格式上多多少少还是有点问题的,但不影响编译和运行。
具体程序请到

空间中搜索。

⑨ C语言,答案跟过程

第一题:
修改后 答案是31 你向函数中传的是值,而不是地址。传值是不会影响参数本身的值。所以答案是31.
第二题 %s格式输出遇到‘\0’结束输出,指针开始指向‘B’,循环共升亩执行3次
BCD
CD
D
第三题 变化后数组为b[10]={8,7,6,5,4,3,2,1,9,10}
输出:22
第四题
4,3,3,2
第五消源题 知道a和b相等是结束拿笑态循环
1 1

⑩ 大学c语言,急求答案!!!

这个程序里的变量名不正确。C语言的变量名可以由数字、字母和下划线组成,但是一般只能以下划线和字母开头,所以程序中的2cd和π是不符合要求的。另外变闭和芦量名轿带也不能使用C语言中棚困的关键字,所以使用for也是不符合要求的。

热点内容
四川农业大学申请考核博士 发布:2025-10-20 08:58:11 浏览:981
福田雷沃重工本科生待遇怎么样 发布:2025-10-20 08:53:49 浏览:575
华为要本科生吗 发布:2025-10-20 08:25:41 浏览:550
2008年青岛本科生工资 发布:2025-10-20 08:04:24 浏览:444
东北大学艺术考研 发布:2025-10-20 07:38:35 浏览:299
我的大学生活txt 发布:2025-10-20 07:35:28 浏览:25
人民大学外语系考研 发布:2025-10-20 07:31:12 浏览:894
上海交通大学考研辅导班 发布:2025-10-20 07:24:54 浏览:420
华中农业大学细胞生物学考研群 发布:2025-10-20 07:09:36 浏览:558
南京大学2016考研线 发布:2025-10-20 06:43:12 浏览:930