当前位置:文档之家› C语言上机作业

C语言上机作业


第4周 上机作业:

1. 交换两个数, 并输出.

main()
{ int x,y,t;
printf("input two number:\n");
scanf("%d%d",&x,&y);
t=x;
x=y;
y=t;
printf("x=%d,y=%d",x,y);
}


2.求圆的面积和周长(使用符号常量)(参考P15, 例3-1)

3.求矩形的面积(P2, 例1-1)

4.调式程序, P24, 例3-6.

5. 求华氏-摄氏温度表
( 华氏温度30 ~ 35之间的每一度都转换成相应的摄氏温度。转换公式:C=5*(F-32)/9 )

main()
{ int F;
float C;
F=30;
printf(“F C\n”);
while(F<=35)
{ C= 5*(F-32)/9.0;
printf(“%d %6.1f \n”, F,C) ;
F=F+1;
}
}

第6周 上机作业


一. P60-63: 例6-3,例6-4, 例6-5(程序一), 例6-8

二. p /4 ≈1-1/3+1/5-1/7+…., 取前10项之和, 求 p 的近似值.

main()
{
int i;
float t=-1.0, pi=1;
for(i=1;i<10;i++)
{
pi=pi+t/(2*i+1);
t=-t;
}
printf(“p =%f”, pi*4);
}


或者

main()
{ int i;
float t=1.0, pi=0;
for(i=1;i<=10;i++)
{
pi=pi+t/(2*i-1);
t=-t;
}
printf(“p =%f”, pi*4);
}


三. e=1+1/1! +1/2! +1/3! + …+ 1/n! +… 求e 的值, 根据输入的n 值, 求前n 项之和.

main()
{ double sum=1.0, x=1.0,y=1.0;
int n;
scanf(“%d”, &n);
while(n)
{
y=x*y;
sum=sum+ 1.0/y;
x++;
--n;
}
printf("e=%f ", sum);
}

最后修改: 2011-04- 29 星期五 14:21

第7周 上机作业

1. 求级数12+22+32+……前10项之和。

main()
{
int i, sum=0;
for (i=1;i<=10;i++)
sum=sum+i*i;
printf("%d",sum);
}


2. 输入一批正数,输入 0 时表示输入结束,求这些正数的和。

#include "stdio.h"
main( )
{
int s=0, x;
scanf("%d",&x);
while( x!=0 )
{
s=s+x;
scanf("%d",&x);
}
printf("s=%d\n", s);
}

3. 大奖赛评分程序, 在唱歌等大奖赛评分时,一般要有若干名评委,记分规则是:去掉一个最高分和一个最低分,再算平均分。设按百分制记分,试设计一个算分的程序,评委人数自己确定。

#define N 5
main()
{ int a[N], i,max=0,min=100;
float sum=0,grade;
for(i=0;iscanf(“%d”,&a[i]);
i=0;
while(i{ sum=sum+a[i];
if(a[i] >max) max= a[i];
if(a[i] i++;
}
grade=(sum-max-min)/(N-2);
printf(“%f”, grade);
}


4.输出 100 以内所有偶数的和与所有奇数的和。
 
#include
main()
{
int i,s1=0,s2=0;
for(i=1;i<=100;i++)
if(i%2==0)
s2=s2+i;
else
s1=s1+i;
printf("s1=%d,s2=%d\n",s1,s2);
}


5. 求前10项的和: 1!+2!+...+ n!

#include
main()
{
int i,j;
double sum=0,it

em;
for(i=1;i<=100;i++)
{
item=1;
for(j=1;j<=i;j++)
item=item*j;
sum=sum+item;
}
printf("sum=%f\n",sum);
}

或者

#include
main()
{
int i,j;
double sum=0,item=1;
for(i=1;i<=100;i++)
{
item=item*i;
sum=sum+item;
}
printf("sum=%f\n",sum);
}


6. 输出图形,共4行,每行由*组成,个数从1开始,依次增加
#include
main( )
{
int k,m,j;
scanf ("%d",&m);
for ( k=1;k<=m;k++)
{
for ( j=1;j<=k;j++)
printf (" * ");
printf("\n");
}
}

第8周上机题目 :

1.把10个整数存入一维数组中,求和、最大值和最小值。

main()
{ int a[10],max,min,i,sum;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=sum=a[0];
for(i=1;i<10;i++)
{
sum=sum+a[i];
if(a[i]>max) max=a[i];
if(a[i]}
printf("max=%d,min=%d,sum=%d", max,min,sum);
}


2.输入一个整数 m ,判断是否为素数。

#include "stdio.h"
main( )
{
int m, i, k;
scanf("%d",&m);
k=m-1;
for(i=2; i<=k; i++)
if(m%i==0) break;
if(i>=k+1) printf ("%d is a prime number\n", m); /* 或者 if(i>k) */
else printf("%d is not a prime number\n", m);
}

或者
#include "stdio.h"
#include "math.h"
main( )
{
int m, i;
float k;
scanf("%d",&m);
k=sqrt(m);
for(i=2; i<=k; i++)
if(m%i==0) break;
if(i>k) printf ("%d is a prime number\n", m);
else printf("%d is not a prime number\n", m);
}


3.把10个整数存入一维数组中,并按逆序输出。

main()
{ int a[10],max,min,i,sum;
for(i=0;i<10;i++)
scanf("%d",&a[i]);

for(i=9;i>=0;i--)
printf("%d", a[i]);
}


4.P79:例7-1

5. P80:例7-2

第9周上机作业:

1.用选择法对数组中的10个整数按照由小到大的顺序排序。

#define N 6
main( )
{
int a[N] ,i, j,k,t;
printf("Input numbers:\n");
for( i=0; iscanf("%d", &a[i]);
for( i=0;i{
k=i;
for( j=i+1; jif(a[k]>a[j]) k=j;
if(k!=i)
{t=a[i]; a[i]=a[k];a[k]=t;}
}
printf("%The sorted numbers: \n");
for( i=0; iprintf("%d ", a[i]);
}


2.按冒泡排序法对一维数组中的数据进行排序,并输出。

main( )
{
int a[6], i, j, n,t ;
for( i=0; i<6; i++)
scanf("%d", &a[i]);
for( i=1; i<=5; i++ )
for( j=0; j<=5-i; j++)
if( a[j]>a[j+1])
{t=a[j]; a[j]= a[j+1];a[j+1]= t ;}
printf("The sorted numbers: \n");
for( i=0; i<6; i++)
printf("%d ", a[i]);
}


3. 二维数组主对角元素求和
main()
{
int i,j,sum=0;
int a[3][3]={{1,2,3},{9,7,4},{-

1,2,0}};
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j)
sum=sum+a[i][j];
printf(“sum=%d\n”,sum);
}


4. P83:例7-5

5.输入两个正整数, 求其最小公倍数。

main()
{
int a,b,i,j;
printf("please input two integers:\n");
scanf(“%d%d”,&a,&b);
if(a{ temp=a; a=b; b=temp;}

for(i=a;i<=a*n;i++)
{
if(i%a==0&&i%b==0)
{ printf("最小公倍数=%d", i );
break;
}
}

}


解法二:

/*先用辗转相除法求最大公约数,然后再求最小公倍数*/

#include "stdio.h“
main()
{
int m,n,temp,t;
printf("please input two integers:\n");
scanf(“%d%d”,&m,&n);
if(mn */

m1=m; n1=n; /* 保存原来的两个数 */
while(n)
{
temp=m%n;
m=n;
n=temp;
}
printf("最小公倍数=%d", (m1*n1)/m );
}


6. 编写程序,输入一维数组的10个元素,并将最小值与第1个数交换,最大值与最后一个数交换,然后输出交换后的数组。

main( )
{
int a[10], i, j, min,max,rmin,rmax,t;
for( i=0; i<10; i++)
scanf("%d", &a[i]);
min=max=a[0];
rmin=rmax=0 ; /*记录当前最小值和最大值在数组中的下标 */
for( i=1; i<10; i++ )
{ if( a[i]>max)
{max=a[i]; rmax=i; }
if( a[i]{min=a[i]; rmin=i; }
}
t=a[0]; a[0]=a[rmin]; a[rmin]=t;
t=a[9]; a[9]=a[rmax]; a[rmax]=t;

for( i=0; i<10; i++)
printf("%d ", a[i]);
}


第10周上机作业:

1. 编写程序,将两个字符串连接起来,不要使用strcat函数.

#include"stdio.h"
main()
{
char str1[50],str2[20];
int i,j;
printf("Enter string No.1:\n");
scanf("%s",str1);
printf("Enter string No.2:\n");
scanf("%s",str2);
i=j=0;
while(str1[i]!='\0')
i++;
while((str1[i]=str2[j])!='\0')
{ i++;
j++;
}
printf("string No.1->%s\n",str1);
}

2.
/*编写程序,完成求5行5列矩阵的外围元素之和*/
#include"stdio.h"
main()
{
int a[5][5]={{1,2,3,4,5},{4,5,6,8,9},{2,3,6,5,4},{8,9,7,8,5},{4,5,6,2,3}};
int i,j,sum=0;
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
if(i==0||j==0||i==4||j==4)
sum=sum+a[i][j];
printf("sum=%d",sum);
}

3.
/*编写一个求 X 立方的函数, 并在主函数中调用该函数*/
#include"stdio.h"
float cube(float x)
{
return (x*x*x);
}
main()
{
float x,y;
printf("Please input x:\n");
scanf("%f",&x);
y=cube(x);
printf("The cube of %6.2f is %6.2f\n",x,y);
}


4.求方阵的转置.
main( )
{
int a[3][3]={{1,2,3},{4,5,6},{8,9,7}};
int i,j,t;
for( i=0; i<2; i++)
for( j=i+1; j<3; j++)
{ t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}

for(i=0; i<3; i++)
{

for( j=0; j<3; j++)
printf("%5d",a[i][j]);
printf("\n");
}
}



5.
/*编写一个求两个数中最大数的函数, 并在主函数中调用该函数*/
#include"stdio.h"
int max(int a,int b)
{
int max;
if(a>b) max=a;
else max=b;
return max;
}
main()
{
int a,b;
printf("Input two integers:\n");
scanf("%d%d",&a,&b);
printf("Max=%d",max(a,b));
}

第11周作业参考答案:

1. 用函数实现: 选择法对数组中的10个整数按照由小到大的顺序排序。(在主函数中输出排好序的数组元素)

main( )
{ int a[10] ,i, j,k,t;
printf("Input numbers:\n");
for( i=0; i<10; i++)
scanf("%d", &a[i]);
sort(a, 10);
printf("%The sorted numbers: \n");
for( i=0; i<10; i++)
printf("%5d ", a[i]);
}

void sort (int a[], int n);
{
int i,j,k
for( i=0;i{ k=i;
for(j=i+1;jif(a[k]>a[j]) k=j;
if(k!=i)
{t=a[i]; a[i]=a[k];a[k]=t;}
}
}




2. 用函数实现: 求两个数的最小公倍数.(把求得的最小公倍数返回到主函数中输出)
#include "stdio.h“
main()
{
int m,n,temp;
printf("please input two integers:\n");
scanf(“%d%d”,&m,&n);
printf("最小公倍数=%d", LCM(m,n));
}

int LCM( int m ,int n)
{
int m1, n1,temp;
if(m{ temp=m; m=n; n=temp;}

m1=m; n1=n;
while(n)
{
temp=m%n;
m=n;
n=temp;
}
return (m1*n1)/m ;
}

解法二:
int LCM( int m, int n)
{
int a,b,i,j,t;
if(m{ temp=m; m=n; n=temp;}

for(i=m;i<=m*n;i++)
{
if(i%m==0&&i%m==0)

{ j=i;break;}
}
return j;
}



3. 用函数实现: 求二维数组每行的和, 并把本行的和存放到本行第1个元素处(如 a[1][0]=sum;) ( 在主函数中输出数组元素)

#include"stdio.h"
void work(int a[][3]) /* 形参数组的第二维不能省略*/
{
int i, j, sum;
for(i=0;i<4;i++)
{ sum=0;
for(j=0;j<3;j++)
sum=sum+a[i][j];
a[i][0]=sum;
}
} /*函数中没有通过return语句返回一个确定的值,应定义为void类型*/

main()
{
int a[4][3], i, j;
printf(“ 给4x3的二维数组赋值”);
for(i=0;i<4;i++)
for(j=0;j<3;j++)
scanf ("%d",&a[i][j]);
work(a);
for(i=0;i<4;i++)
{ for(j=0;j<3;j++)
printf("%6d",a[i][j]);
printf("\n");
}
}



P135 #1 : 编写函数,求5*5数组主对角线上元素的最小值。

#include"stdio.h"
int Min(int a[][5])
{int min,i,j;
min=a[0][0];
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
if(i==j)
{ if(a[i][j]min=a[i][j];
}
return(min);
}

main()
{
int a[5][5],i,j;
printf("输入5*5数组的值:\n");
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
scanf("%d",&a[i][j]);
printf("该5*5数组主对角线的最小值为:");
printf("%d\n",Min(a));
}


P135 #3 : 在

整型数组中检索给定的值, 若找到输出该位置。

#include"stdio.h"
int lookup(int a[],int m)
{
int i, k= -1;
for(i=0;i<4;i++)
if(m==a[i])
{
k=i;
break;
}
return k;
}

main()
{
int a[4],m;
int i,x;
printf("输入数组的值:\n");
for(i=0;i<4;i++)
scanf("%d",&a[i]);
printf("输入要检索的m的值:\n");
scanf("%d",&m);
x=lookup(a,m);
if(x== -1) printf("not found");
else printf("在数组中的位置是%d",x);
}


P135 #4 : 利用全局变量, 通过函数求数组中的正数平均值和负数的平均值。

#include
float pave=0,nave=0;
void saver(int a[ ],int n)
{
int i,sum1=0,sum2=0,nu1=0,nu2=0;
for(i=0;i{
if(a[i]<0)
{ sum1=sum1+a[i];
nu1=nu1+1;
}
else if(a[i]>0)
{ sum2=sum2+a[i];
nu2=nu2+1;
}
}
if(nu1!=0) pave=(float)sum1/nu1;
if(nu2!=0) nave=(float)sum2/nu2;
}

main()
{
int a[8],i;
printf("input 8 numbers:\n");
for(i=0;i<8;i++)
scanf("%d",&a[i]);
saver(a,8);
printf("正数平均值为:%f\n,负数平均值为:%f\n",pave,nave);
}
12周上机作业参考答案:

1.用递归函数求n!, 所求阶乘的值作为函数值返回,并编写主调函数。

long fact(int n)
{
long k;
if(n<0)
{
printf("Data error!\n");
exit(0); /*强制程序结束的系统函数*/
}
else if(n==0||n==1) k=1;
else k=n*fact(n-1);
return k;
}
main()
{
int n;
long f;
printf("Please input an integral number:\n");
scanf("%d",&n);
f=fact(n);
printf("%d!=%ld\n",n,f);
}

2.用函数把给定的字符串反序存放。(把主调函数中的字符数组传给函数)
#include "stdio.h"
#include "string.h"
void string(char a[],int len)
{
int i; char c;
for (i=0;i{ c=a[i];
a[i]=a[len-i-1];
a[len-i-1]=c;
}
}
main()
{
char str[20];
int len;
printf("Please input a string:");
scanf("%s",str);
len=strlen(str);
string(str,len); /*数组名做参数,传递了实参数组的开始地址*/
printf("%s\n",str);
}



3。利用函数求大奖赛评分程序,把求得的评分返回主调函数。

#include"stdio.h"
float score(float a[],int n)
{
float max=a[0],min=a[0], sum=0, score;
int i;
for(i=1;i{
if(a[i]>max) max=a[i];
if(a[i]sum=sum+a[i];
}
score=(sum-max-min)/(n-2);
return score; /*return 语句把一个确定的值返回到主调函数中*/
}

main()
{
float a[5],y;
int i;
printf("please input five scores:\n");
for(i=0;i<5;i++)
scanf("%f",&a[i]);
y=score(a,5); /*函数调用得到的返回值可以参与运算*/
printf("%f",y);
}



4.用函数实现:求二维数组每一行的最大值,并存到本行开

始的位置。在主调函数中输出改变后的数组。

#include"stdio.h"
void work(int a[][3]) /* 形参数组的第二维不能省略*/
{
int i,j,max;
for(i=0;i<3;i++)
{ max=a[i][0];
for(j=1;j<3;j++)
{
if(a[i][j]>max)
max=a[i][j];
}
a[i][0]=max;
}
} /*函数中没有通过return语句返回一个确定的值,应定义为void类型*/

main()
{
int a[3][3], i, j;
printf(“ 给3x3的二维数组赋值”);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf ("%d",&a[i][j]);
work(a);
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
printf("%6d",a[i][j]);
printf("\n");
}
}


5.编写函数,求y的值, y=1/2! + 1/4! +...+_1/n!, 并返回到主调函数, 其中n是偶数。

#include "stdio.h"
long Factorial(int n) /*存储阶乘的变量不要定义成int,少用递归*/
{ long p=1;
int j;
for(j=1;j<=n;j++)
p=p*j;
return p;
}
double fun(int n)
{
double sum=0;
int i;
for(i=1;i<=n/2;i++)
sum=sum+1.0/Factorial(2*i); /*注意整除/运算符的特点*/
return sum;
}

main()
{
int n;
printf("输入一个偶数 n:");
scanf("%d",&n);
printf("y=%f",fun(n));
}

第13周作业参考答案

若作业是书上的例题, 请参考教材。



1. 利用指针变量,把一维字符数组s1中的字符串拷贝到一维字符数组s2中。

#include "stdio.h"
main()
{
char s1[20],s2[20],*p1=s1,*p2=s2;
printf(“input string\n”);
scanf("%s",s1);
for( ; *p1!='\0'; p1++,p2++)
*p2=*p1;
*p2='\0';
printf("%s\n",s2);
}



2. 利用指针变量,求一维数组的最大值。

#include"stdio.h"
main()
{
int a[10]={2,5,6,8,4,6,8,5,5,0};
int i, *p, max;
p=a;
max=*p++;
for(i=1;i<10;i++,p++)
if(max<*p) max=*p;
printf("max=%d\n",max);
}


3. 利用指针变量和函数,把一维字符数组的内容逆序存放。

#include"stdio.h"
#include"string.h"
#define M 80

rever(char *q)
{
int length, k;
char *p;
length=strlen(q);
for(p=q+length-1;q{
k=*q;
*q=*p;
*p=k;
}
}

main()
{
char str[M];
printf("Enter a string which is less than 80 characters:\n");
scanf("%s",str);
rever(str);
printf("revers string is:%s\n",str);
}


5。P98 第3个编写程序题 ( 打印7行杨辉三角行)。 (此作业参考答案来自一个同学的作业)
#include
main()
{
int a[7][7],i,j;
for(i=0;i<7;i++)
{
a[i][0]=1;
a[i][i]=1;
}

for(i=2;i<7;i++)
for(j=1;ja[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=0;i<7;i++)
{
for(j=0;j<=i;j++)
printf("%-3d ",a[i][j]);
printf("\n");
}
}

14周作业参考答案, 书上作业参考教材。

3. P171, 五(2) ,对具有10个元素的字符数组,

从下标为6的元素开始全部设置为'#'符号, 保持前6个元素中的内容不变.


main()
{
char a[11]="abcdefghij" ,*p;
int j;
p=a;
for(j=0; *p!='\0'; p++,j++)
if(j>=6) *p='#';
printf("%s\n",a);
}



4 . 把数组中的10个整数按照由大到小的顺序排序.(参照冒泡排序的思想)
main( )
{
int i, a[10];
void sort( int *x, 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 *x, int n)
{ int i,j, t;
for(i=0; ifor(j=0; jif(x[j]{ t=x[j];
x[j]=x[j+1];
x[j+1]=t;
}
}

1.P179 例10-2, 统计候选人得票数. 假设由3名候选人,每次输入一个得票候选人的名字,要求最后输出每个人的得票总数.

1 #include “stdio.h”
2 #include “string.h”
3 struct person
4 { char name[20];
5 int count;
6 }leader[3]={“Li”, 0, ”zhang”, 0, ”Liu”, 0};
7 main( )
8 {
9 int i, j;
10 char leader_name[20];
11 for( i=1;i<=10;i++)
12 { scanf(“%s”,leader_name);
13 for(j=0;j<3;j++)
14 if(strcmp( leader_name, leader[j].name)==0)
15 leader[j].count++;
16 }
17 for(i=0;i<3;i++)
18 printf(“%5s:%d\n”,leader[i].name,leader[i].count);
19 }


2. 输入一个整数, 求其各位数之和.
main()
{ int x, sum=0;
scanf( "%d", &x);
while (x!=0)
{ sum=sum+x%10;
x=x/10;
}
printf( "sum=%d", sum);
}


3. 函数练习: P 135 五(6)
输入10名学生5门课的成绩,分别用函数求:(1)每门课程的平均分 (2)找出最高分对应的学生和课程


#include
void average( float a[][5], float ave[] ) /*每门课程的平均分*/
{
int i,j;
for(j=0;j<5;j++)
{for(i=0;i<10;i++)
ave[j]+=a[i][j];
ave[j]/=10;
}
}


float search( float a[][5], float stu_course[][5] )
{
int i,j;
float max=a[0][0];

for(i=0;i<10;i++)
for(j=0;j<5;j++)
if(maxmax=a[i][j];

for(i=0;i<10;i++)
for(j=0;j<5;j++)
if(a[i][j]==max)
stu_course[i][j]=1;
return max;
}


main()
{
float max,a[10][5], ave[5]={0};
float stu_course[10][5]={{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}};
int i,j;
printf("请输入10个人的5门课成绩:\n");
for(i=0;i<10;i++)
for(j=0;j<5;j++)
scanf("%f", &a[i][j]);
average(a, ave);
max=search(a, stu_course );

printf("各科的平均分为:\n");
for(i=1;i<=5;i++)
printf("第%d门课程平均分为:%.2f\n", i, ave[i-1]);

printf("\n最高分是%f:", max);

printf("\n最高分对应的学生和课程\n");
for(i=0;i<10;i++)

for(j=0;j<5;j++)
if(stu_course[i][j]==1)
printf("第%d名学生,第%d门课程\n",i+1,j+1);
}



4. 函数练习: 求100以内所有素数之和. 定义求素数的函数, 并定义主函数调用.
算法思想: 若m不能被2~m-1(或者2~m的平方根)之间的任何一个整数整除,则m为素数。

main( )
{
int x, i, sum;
for ( i=2; i<=100; i++)
{ x=prime_number ( i ) ;
if(x!=0)
{ printf("%3d", x);
sum=sum+x;
}
}
printf("sum=%d", sum);
}

int prime_number ( int m)
{
int k, i;
k=m-1;
for(i=2; i<=k; i++)
if(m%i==0) break;
if(i>k) return m ;
else return 0;
} /* 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 */

5. 编写程序, 把八进制数转换为十进制数. (选做)


#include
#include
int exchange_8to10(int o_number)
{
int m = 0;//转化好的十进制数
int n = 1;//因子,第一次为1,循环一次乘以8
int k = 8;//因为为8进制数,所以在求除法、余数操作时,以8作为基准
while( o_number !=0)
{
m += (o_number%k)*n;//求余获得最低位,然后乘以因子
n *= 8; //因子递增8
o_number /= k; //操作数递减
}
return m;
}

main()
{
int o_number;
int d_number;
printf("请输入一个8进制数:");
scanf("%o",&o_number);
d_number = exchange_8to10(o_number);
printf("转化好的十进制数为:%d\n",d_number);
}



练习下面的题:
6 .利用静态局部变量设计一个数发生器函数
#include
int f()
{
static int num1=1,num2=1;
num1+=2;
num2+=6;
return (num2%num1);
}
main()
{
int n,i;
printf("请输入数的个数n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("%d\t",f());
if(i%5==0) printf("\n");
}
}

相关主题
文本预览
相关文档 最新文档