浙江大学程序设计基础上机练习参考答案汇总A

更新时间:2023-05-03 16:29:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C 程序设计基础 2016 上机练习参考答案 A
第 2 周 ............................................................................................................................................. 2? 1)? 10006 显示"Programming in C is fun!" ............................................................... 2? 2)? 10007 显示图案 (复习 printf()的字符串输出) .............................................. 3? 3)? 20011 求华氏温度 100°F 对应的摄氏温度。 ............................................................... 3? 4)? 20012 求华氏温度 150°F 对应的摄氏温度。 ............................................................ 3? 5)? 20013 求摄氏温度 26°C 对应的华氏温度 ............................................................. 4? 6)? 20014 计算三门课程的平均成绩 ............................................................................ 4? 7)? 20015 当 n 为 152 时,分别求出 n 的个位数字(digit1)、十位数字(digit2)和百位数 字(digit3)的值。 ..................................................................................................................... 5? 8)? 20016 计算 x 的平方(改错题 error02_2) ................................................................ 5? 9)? 20023 计算存款利息...................................................................................................... 6? 10)? 20026 输入 2 个整数 num1 和 num2,计算并输出它们的和、差、积、商与 余数。 6? 第 3 周 ............................................................................................................................................. 7? 1)? 20021 计算分段函数的值(调试示例 error02_3) .................................................... 7? 2)? 20024 计算分段函数...................................................................................................... 8? 3)? 20031 求 1+2+3+......+100(调试示例 error02_5) .............................................. 8? 4)? 20032 求 m+(m+1)+(m+2)+......+100 ...................................................................... 9? 5)? 20033 求 1/m+1/(m+1)+1/(m+2)+......+1/n ...................................................... 9? 6)? 20035 求 1-1/4+1/7-1/10+……的前 n 项之和 ............................................. 10? 7)? 20038 求 x 的 n 次幂 ............................................................................................. 12? 8)? 20041 生成 3 的乘方表 ........................................................................................ 12? 9)? 20044 求 100^0.5+101^0.5+……+1000^0.5 ................................................... 13? 10)? 20053 计算物体自由下落的距离 .................................................................. 13? 第 4 周 ........................................................................................................................................... 14? 1)? 20025 计算分段函数的值(改错题 error02_4) ...................................................... 14? 2)? 20027 计算旅途时间。................................................................................................. 15? 3)? 20028 数字加密............................................................................................................. 16? 4)? 20034 求 1 + 1/3 + 1/5 + ......的前 n 项和.............................................................. 17? 5)? 20036 输出华氏-摄氏温度转换表(改错题 error02_6) .................................. 17? 6)? 20043 使用函数求 n! /(m!* (n-m)!) ..................................................................... 18? 7)? 20061 阶梯电价...................................................................................................... 19? 8)? 20062 求 m*m+1/m+(m+1)*(m+1)+1/(m+1)+(m+2)*(m+2)+1/(m+2)+...... +n*n+1/n ............................................................................................................................ 20? 9)? 20063 求 1-2/3+3/5-4/7+5/9-6/11+…… ........................................................ 21? 10)? 20064 求 2^1+2^2+2^3+……+2^n ....................................................... 22? 第 5 周 ........................................................................................................................................... 22? 1)? 30001 求一元二次方程的根 .................................................................................. 22? 2)? 30002 求分段函数的值 .......................................................................................... 24? 3)? 30004 显示五级记分制成绩所对应的百分制成绩区间(使用 switch) .......... 25? 4)? 30005 显示水果的价格(使用 switch) .............................................................. 26? 5)? 30007 求三角形的面积和周长 .............................................................................. 28? 6)? 30008 计算个人所得税 .......................................................................................... 28? 7)? 30009 统计学生成绩.............................................................................................. 30?1

C 程序设计基础 2016 上机练习参考答案 A
8)? 30053 分段计算水费(使用嵌套的 if-else 语句) .............................................. 31? 9)? 30061 出租车计费.................................................................................................. 32? 10)? 30062 输出 21 世纪所有闰年 .............................................................................. 33? 第 6 周 ........................................................................................................................................... 34? 1)? 40011 求最小公倍数和最大公约数(调试示例 error04_1) ............................ 34? 2)? 40012 求 1-1/4+1/7-1/10+1/13-1/16+…… ............................................... 35? 3)? 40014 求整数的位数.............................................................................................. 36? 4)? 40017 求 2/1+3/2+5/3+8/5+... ......................................................................... 37? 5)? 40023 换硬币.......................................................................................................... 38? 6)? 40024 找出各位数字的立方和等于它本身的数 .................................................. 39? 7)? 40025 找完数(改错题 error04_2) .................................................................... 41? 8)? 40026 验证歌德巴赫猜想(选作) ........................................................................... 42? 9)? 40027 从高位开始逐位输出一个整数的各位数字(选作) ................................... 43? 10)? 40051 求平均成绩并统计不及格人数 .............................................................. 44? 第 7 周 ........................................................................................................................................... 45? 1)? 50002 使用函数判断数的符号 .............................................................................. 45? 2)? 50003 使用函数求奇数和 ...................................................................................... 46? 3)? 50005 使用函数统计素数并求和 .......................................................................... 47? 4)? 50006 使用函数统计一个整数中数字的个数 ...................................................... 48? 5)? 50007 使用函数找水仙花数 .................................................................................. 49? 6)? 50008 使用函数求 1! + 2! + … + m!(改错题 error05_2) ............................... 51? 7)? 50009 使用函数求余弦函数的近似值 .................................................................. 51? 8)? 50052 使用函数找最大值 ...................................................................................... 53? 9)? 50062 使用函数输出指定范围内的 Fibonacci 数 ............................................. 54? 10)? 50063 使用函数找出指定范围内的完数 ...................................................... 55? 第 8 周 ........................................................................................................................................... 56? 1)? 40062 求 x+x*x/2!+x*x*x/3!+x*x*x*x/4!+……的值.................................... 56? 2)? 40070 编程:猜数游戏 .......................................................................................... 57? 3)? 50004 使用函数计算两点间的距离 ...................................................................... 59? 4)? 50051 数字金字塔........................................................................................................ 60? 5)? 50061 使用函数求 a+aa+aaa+aa…a ............................................................... 61? 6)? 60001 使用函数求 PI(调试示例源程序 error06_1) ....................................... 62? 7)? 60002 整数的十进制、八进制和十六进制表现形式 .......................................... 64? 8)? 60003 分类统计字符.............................................................................................. 64? 9)? 60007 使用函数输出整数的逆序数 ...................................................................... 65? 10)? 60009 统计单词 .............................................................................................. 66? 11)? 60062 简单计算器 .......................................................................................... 68? 第2周 1) 10006 显示"Programming in C is fun!"
编写程序,在屏幕上显示一个短句"Programming in C is fun!" #include 2

C 程序设计基础 2016 上机练习参考答案 A
int main(void) { printf("Programming in C is fun!"); return 0; }2) 10007 显示图案 (复习 printf()的字符串输出)
编写程序,在屏幕上显示如下图案。 * * * * * * * * * *
#include int main(void) { printf("* * * *\n" " * * *\n" " * *\n" " *\n"); /*---------*/ }
3) 20011 求华氏温度 100°F 对应的摄氏温度。 计算公式如下, c=5*(f-32)/9, 式中: c 表示摄氏温度, f 表示华氏温度。 (源程序 error02_1.cpp) 输入输出示例: fahr=100,celsius=37 #include int main(void) { int celsius, fahr; /*---------*/ fahr=100; celsius=5*(fahr-32)/9; printf("fahr = %d, celsius = %d\n", fahr, celsius); return 0; } 4) 20012 求华氏温度 150°F 对应的摄氏温度。 计算公式:C = 5*F/9-5*32/9,式中:C 表示摄氏温度,F 表示华氏温度。3

C 程序设计基础 2016 上机练习参考答案 A
输入输出示例: fahr=150, celsius=66 #include int main(void) { int celsius, fahr; /*---------*/ fahr=150; celsius=5*fahr/9-5*32/9; printf("fahr = %d, celsius = %d\n",fahr, celsius); return 0; }
5) 20013
求摄氏温度 26°C 对应的华氏温度
程序填空,不要改变与输入输出有关的语句。 求摄氏温度 26°C 对应的华氏温度。计算公式:f = 9*c/5 + 32,式中:c 表示 摄氏温度,f 表示华氏温度。 输入输出示例: celsius = 26, fahr = 78
#include int main(void) { int celsius, fahr; /*---------*/ celsius = 26; fahr = 78; fahr = 9*celsius/5 + 32; printf("celsius = %d, fahr = %d\n", celsius, fahr); }
6) 20014
计算三门课程的平均成绩
程序填空,不要改变与输入输出有关的语句。 已知某位学生的数学、英语和计算机课程的成绩分别是 87 分、72 分和 93 分, 求该生 3 门课程的平均分。 输入输出示例: math = 87, eng = 72, comp = 93, average = 844

C 程序设计基础 2016 上机练习参考答案 A
#include int main(void) { int math, eng, comp, average; math = 87; eng = 72; comp = 93; /*---------*/ average = (math+eng+comp)/3; printf("math = %d, eng = %d, comp = %d, average = %d\n", math, eng, comp, average); }
7) 20015 当 n 为 152 时, 分别求出 n 的个位数字(digit1)、 十位数字(digit2)和百位数字(digit3) 的值。 输入输出示例: 整数 152 的个位数字是 2,十位数字是 5,百位数字是 1 #include int main(void) { int n,digit1,digit2,digit3; n=152; digit1=n%10; digit2=(n/10)%10; digit3=n/100; /*---------*/ printf(" 整数 %d 的个位数字是 %d, 十位数字是 %d, 百位数字是 %d\n", n, digit1, digit2, digit3); return 0; } 8) 20016 计算 x 的平方(改错题 error02_2) 程序填空。 假设 x 的值为 3, 计算 x 的平方 y, 并分别以"y = x * x"和"x * x = y"的形式输出 x 和 y 的 值。 输入输出示例: 9=3*3 3*3=9 #include int main(void) { int x,y;5

C 程序设计基础 2016 上机练习参考答案 A
x=3; y=x*x; printf("%d = %d * %d \n",y,x,x); printf("%d * %d = %d \n",x,x,y); return 0; } 9) 20023 计算存款利息 程序填空,不要改变与输入输出有关的语句。 输入存款金额 money 、存期 year 和年利率 rate ,根据下列公式计算存款到期时的利息 interest(税前),输出时保留 2 位小数。 interest = money(1+rate)^year - money 输入输出示例:括号内为说明 输入 1000 3 0.025 (money = 1000, year = 3, rate = 0.025) 输出 interest = 76.89 #include #include int main(void) { int money, year; double interest, rate; scanf("%d%d%lf",&money,&year,&rate); interest = money*pow((1+rate),year) - money; printf("interest = %.2f\n", interest); } 10) 20026 输入 2 个整数 num1 和 num2,计算并输出它们的和、差、积、商与余数。
输出两个整数的余数可以用 printf("%d %% %d = %d\n", num1, num2, num1%num2); 输入输出示例:括号内是说明 输入 5 3 (num1=5,num2=3) 输出 5 + 3 = 8 5 - 3 = 2 5 * 3 = 15 5 / 3 = 1 5 % 3 = 2#include 6

C 程序设计基础 2016 上机练习参考答案 A
int main(void) { int num1,num2; /*---------*/ scanf("%d%d",&num1,&num2); printf("%d + %d = %d\n",num1,num2,num1+num2); printf("%d - %d = %d\n",num1,num2,num1-num2); printf("%d * %d = %d\n",num1,num2,num1*num2); printf("%d / %d = %d\n",num1,num2,num1/num2); printf("%d % % %d = %d\n",num1,num2,num1%num2); return 0; }
第3周 1) 20021 计算分段函数的值(调试示例 error02_3) 程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0 int main(void) { int repeat, ri; double x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf", &x); if(x!=0) y=1/x; else y=0; printf("f(%.2f) = %.1f\n", x, y); }7

C 程序设计基础 2016 上机练习参考答案 A
} 2) 20024 计算分段函数 程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0= 0 时,f(x) = x^0.5,当 x 小于 0 时,f(x) = (x+1)^2 + 2x + 1/x。 输入输出示例:括号内是说明 输入 3 (repeat=3) 10 -0.5 0 输出 f(10.00) = 3.16 f(-0.50) = -2.75 f(0.00) = 0.00 #include #include int main(void) { int repeat, ri; double x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf",&x); if(x>=0) y = sqrt(x); else y = pow((x+1),2)+2*x+1.0/x; printf("f(%.2f) = %.2f\n", x, y); } } 3) 20031 求 1+2+3+......+100(调试示例 error02_5)
计算表达式 1 + 2 + 3 + ...... + 100 的值。 输出示例: sum = 5050#include int main(void) { int i, sum;8

C 程序设计基础 2016 上机练习参考答案 A
sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("sum = %d\n", sum); }
4)
20032
求 m+(m+1)+(m+2)+......+100
输入一个正整数 repeat (0 int main(void) { int i, m, sum; int repeat, ri; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d", &m); sum=0; for(i=m;i<=100;i++) sum=sum+i; /*---------*/ printf("sum = %d\n", sum); } }
5)
20033
求 1/m+1/(m+1)+1/(m+2)+......+1/n
输入一个正整数 repeat (09

C 程序设计基础 2016 上机练习参考答案 A
输入 2 个正整数 m 和 n(m<=n),计算表达式 1/m + 1/(m+1) + 1/(m+2) + ...... + 1/n 的值,输出时保留 3 位小数。 输入输出示例:括号内为说明 输入 3 (repeat=3) 5 15 (计算 1/5+1/6+1/7+...+1/15) 10 20 (计算 1/10+1/11+1/12+...+1/20) 1 3 (计算 1+1/2+1/3) 输出 sum = 1.235 sum = 0.769 sum = 1.833#include int main(void) { int i, m, n; int repeat, ri; double sum; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d%d", &m, &n); sum=0; for (i=m; i<=n; i++) sum=sum+1.0/i; printf("sum = %.3f\n", sum); } }
6)
20035
求 1-1/4+1/7-1/10+……的前 n 项之和
输入一个正整数 repeat (010

C 程序设计基础 2016 上机练习参考答案 A
#include int main(void) { int flag, i, n, t; int repeat, ri; double item, sum; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d", &n); sum=0; flag=1; t=1; for(i=1;i<=n;i++){ item=flag*1.0/t; sum=sum+item; flag=-flag; t=t+3; }/*---------*/ printf("sum = %.3f\n", sum); } }
参考 2: #include int main(void) { int flag, i, n, t; int repeat, ri; double item, sum; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d", &n); flag=1; sum=0; for(i=1;i<=n;i++) { item=1.0/(3*i-2); sum=sum+flag*item; flag=-flag; } printf("sum = %.3f\n", sum);11

C 程序设计基础 2016 上机练习参考答案 A
} } 7) 20038 求 x 的 n 次幂
输入一个正整数 repeat (0 int main(void) { int i, n; int repeat, ri; double mypow, x; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf%d", &x, &n); mypow=1; for(i=1;i<=n;i++) mypow=mypow*x; /*---------*/ printf("%.2f\n", mypow); } }
8)
20041
生成 3 的乘方表
输入一个正整数 n,生成一张 3 的乘方表,输出 3^0 ~ 3^n 的值,可调用幂函数 计算 3 的乘方。 输出使用语句 printf("pow(3,%d) = %.0f\n", i, mypow); 输入输出示例:括号内是说明 输入 3 (n=3) 输出 pow(3,0) = 112

C 程序设计基础 2016 上机练习参考答案 A
pow(3,1) = 3 pow(3,2) = 9 pow(3,3) = 27
#include #include int main(void) { int i, n; double mypow; scanf("%d", &n); for(i=0;i<=n;i++) { mypow=pow(3,i); printf("pow(3,%d) = %.0f\n", i, mypow); } }
9)
20044
求 100^0.5+101^0.5+……+1000^0.5
计算 100^0.5+101^0.5+……+1000^0.5 的值(保留 2 位小数),可调用 sqrt 函数计算平方根。 输入输出示例:括号内是说明 输出 sum = 20435.99#include #include int main(void) { int i; double sum; sum=0; for(i=100;i<=1000;i++) sum=sum+sqrt(i); /*---------*/ printf("sum = %.2f\n",sum); }
10) 20053
计算物体自由下落的距离
一个物体从 100m 的高空自由落下, 编写程序, 求它在前 3s 内下落的垂直距离 (结果保留 2 位小数)。设重力加速度为 10 米/秒^2。13

C 程序设计基础 2016 上机练习参考答案 A
#include int main(void) { double height; height=0.5 * 10 * 3* 3; /*---------*/ printf("height = %.2f\n", height); }
第4周 1) 20025 计算分段函数的值(改错题 error02_4) 程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0 int main(void) { int repeat, ri; double x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ /*---------*/ scanf("%lf",&x); if(x!=10) y=x; else y=1/x; printf("f(%.1f) = %.1f\n", x, y); } return 0; }14

C 程序设计基础 2016 上机练习参考答案 A
2) 20027 计算旅途时间。 输入 2 个整数 time1 和 time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是 0000 到 2359(前两位表示小时,后两位表示分钟),不需要考虑出发时间 晚于到达时间的情况。 例:括号内是说明 输入 712 1411 (出发时间是 7:12,到达时间是 14:11) 输出 The train journey time is 6 hours 59 minutes. #include int main(void) { int time1, time2, hour, minutes, t1, t2, result; scanf("%d%d", &time1, &time2); t1 = (time1 / 100) * 60 + time1 % 100; /* 统一化成 minutes: */ t2 = (time2 / 100) * 60 + time2 % 100; result = t2 - t1; hour = result / 60; minutes = result % 60; printf("The train journey time is %d hours %d minutes.\n", hour, minutes); } 参考 2: #include int main(void) { int time1, time2, hour, minutes; int th1,th2,tm1,tm2; // ?? 这里随便加入 printf(“\n”)也能通过? scanf("%d%d", &time1, &time2); th1=time1/100; th2=time2/100; tm1=time1%100; tm2=time2%100; if(tm1>tm2){ hour=th2-th1-1; minutes=tm2+60-tm1; } else{ hour=th2-th1; minutes=tm2-tm1; } printf("The train journey time is %d hours %d minutes.\n", hour, minutes);15

C 程序设计基础 2016 上机练习参考答案 A
return 0; } 3) 20028 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加 9,然后除以 10 取余, 做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成 加密后的新四位数。 例:括号内是说明 输入 1257 输出 The encrypted number is 4601(每一位上的数字加 9 除以 10 取余后, 得 0146, 交换后得到 4601) #include int main(void) { int number, digit1, digit2, digit3, digit4, newnum; scanf("%d", &number); /*---------*/ digit1=(number%10+9)%10*100; /* 取个位+9 之后除以 10 取余,然后变成百位(个位与百位交换) */ digit2=(number/10%10+9)%10*1000; /* 取十位+9 之后除以 10 取余,然后变成千位,将千位和十位上的数字互换 */ digit3=(number/100%10+9)%10; /* 取百位+9 之后除以 10 取余,变成个位,百位和个位上的数字互换*/ digit4=(number/1000+9)%10*10; /* 取千位+9 之后除以 10 取余,变成十位,千位数字与十位数字交换 */ newnum=digit1+digit2+digit3+digit4; printf("The encrypted number is %d\n", newnum); return 0; }
参考 2: #include int main(void) { int digit1, digit2, digit3, digit4, newnum, number; printf("\n"); scanf("%d", &number); digit1=(number%10+9)%10; /* 个位 */ digit2=((number/10)%10+9)%10; /* 十位 */ digit3=((number/100)%10+9)%10; /* 百位 */ digit4=(number/1000+9)%10; /* 千位 */16

C 程序设计基础 2016 上机练习参考答案 A
newnum=digit2*1000+digit1*100+digit4*10+digit3; printf("The encrypted number is %d\n", newnum); return 0; } 4) 20034 求 1 + 1/3 + 1/5 + ......的前 n 项和
输入一个正整数 repeat (0 int main(void) { int i, n; int denominator; int repeat, ri; double sum; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d", &n); sum=0; denominator=1; for(i=1;i<=n;i++) { sum=sum+1.0/denominator; denominator=denominator+2; } printf("sum = %.6f\n", sum); } }
5)
20036
输出华氏-摄氏温度转换表(改错题 error02_6)
输入一个正整数 repeat (0

C 程序设计基础 2016 上机练习参考答案 A
计算公式:c = 5 * (f - 32) / 9,其中:c 表示摄氏温度,f 表示华氏温度。 输出请使用语句 printf("%3.0f %6.1f\n", fahr, celsius); 输入输出示例:括号内是说明 输入 2 (repeat=2) 32 35 (lower=32,upper=35) 40 30 (lower=40,upper=30) 输出 fahr celsius 32 0.0 34 1.1 fahr Celsius#include int main(void) { int lower, upper; int repeat, ri; double celsius, fahr; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d%d", &lower, &upper); printf("fahr celsius\n"); for(fahr=lower;fahr<=upper; fahr++, fahr++) { celsius=5*(fahr-32)/9; printf("%3.0f%6.1f\n",fahr,celsius); }/*---------*/ } }
6)
20043
使用函数求 n! /(m!* (n-m)!)
输入一个正整数 repeat (0

C 程序设计基础 2016 上机练习参考答案 A
#include "stdio.h" int main(void) { int m, n; int repeat, ri; double s; double fact(int n); scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d%d", &m, &n); s=fact(n)/(fact(m)*fact(n-m)); printf("result = %.0f\n", s); } } double fact(int n) { double result; int i; result=1; for(i=1;i<=n;i++) result=result*i; return result; }
7)
20061
阶梯电价
输入一个正整数 repeat (019

C 程序设计基础 2016 上机练习参考答案 A
int main(void) { int repeat, ri; double cost, e; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf", &e); if(e<=50) cost=e*0.53; else cost=0.53*50+(e-50)*0.58; /*---------*/ printf("cost = %.2f\n", cost); } }
8)
20062 n*n+1/n
求 m*m + 1/m + (m+1)*(m+1) + 1/(m+1) + (m+2)*(m+2) + 1/(m+2) + ...... +
输入一个正整数 repeat (0 int main(void) { int i, m, n; int repeat, ri; double sum; scanf("%d",&repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d%d", &m, &n); sum=0;20

C 程序设计基础 2016 上机练习参考答案 A
for(i=m;i<=n;i++) sum=sum+i*i+1.0/i; /*---------*/ printf("sum = %.6f\n", sum); } }
9)
20063
求 1-2/3+3/5-4/7+5/9-6/11+……
输入一个正整数 repeat (0 int main(void) { int flag, i, n; float denominator; int repeat, ri; double item, sum; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d", &n); sum=0; flag=1; denominator =1.0; for(i=1; i<=n; i++) { item=flag* i *1.0/ denominator; sum=sum+item; flag=-flag; denominator = denominator +2;21

本文来源:https://www.bwwdw.com/article/akqe.html

Top