2022年高级语言课程设计任务书 .pdf

上传人:H****o 文档编号:38694960 上传时间:2022-09-04 格式:PDF 页数:22 大小:151.62KB
返回 下载 相关 举报
2022年高级语言课程设计任务书 .pdf_第1页
第1页 / 共22页
2022年高级语言课程设计任务书 .pdf_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《2022年高级语言课程设计任务书 .pdf》由会员分享,可在线阅读,更多相关《2022年高级语言课程设计任务书 .pdf(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、高级语言课程设计指导一、课程设计的目的“高级语言程序设计课程设计”是在学完高级语言程序设计之后开设的一门独立的实践性课程,是对高级语言程序设计的综合实践, 其目的在于加深对高级语言程序设计的基本思想、基础知识和方法的理解,进一步锻炼分析、解决比较复杂问题的能力,提高学生独立编程的能力,为实际软件开发和后续课程的学习打下坚实的基础。二、课程设计的基本要求首先要明确课程设计的目的和重要性,选择适当的题目,分组或独立有计划地按照软件工程的思想,在教师的指导下,对题目进行分析、设计和实现,并按照一定的格式写出设计报告。在课程设计过程中,要学会如何运用所学知识和技巧,如何查阅、搜集、归纳整理相关资料,

2、注意如何有意思的按照软件工程的基本标准进行分析、设计和实现。 选定题目之后,需要经历下面几个阶段进行课程设计。1)题目分析:弄清楚问题到底要干什么,明确设计目标,搜集和查阅相关资料。2)系统设计:怎么做才能实现系统的目标。首先确定问题中有哪些数据,该如何存储,是用多个单个的数组呢,还是用结构体数组,是连续的数组存储,还是不一定连续存储,结构体之间通过指针链接起来呢;数据是怎样输入的,是在运行时通过键盘输入,还是从文件读入,有哪些数据需要输出,输出格式如何,输出到屏幕上还是写到文件中。然后确定解决该问题有哪些功能模块,每个功能的名字什么,给出对应的函数原型,画出主函数的流程图和典型功能模块的流程

3、图;对所有的功能模块,从主模块,到各个层次的子模块,画出各个功能模块之间的调用层次图。其次设计一个系统操作界面,确定用户如何使用系统,是命令窗口界面还是图形界面,如何操作。3)系统实现:建立一个工程文件,其中至少包含三个文件,第一个是主函数所在的源文件,第二个是各个功能子模块对应的函数所在的源文件,第三个是各个功能子模块的函数原型所在的头文件。4)调试程序:上机调试。未必要等把所有的代码都写好才进行编译调试。可以先实现主模块,只调试主函数,所有的子模块函数均使用所谓的树桩函数进行测试。然后逐个实现各个模块,一个一个添加,实现一个调试一个。5)系统测试:通过精心准备的测试数据,对系统进行测试,如

4、果发现错误要查找原因改正错误。检查系统是否真正实现了系统的设计目标,操作界面是否方便使用。测试数据最好是通过文件加载,这样可以防止重复输入。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 22 页6)撰写报告:按照给定的格式写出完整、标准的报告并打印。其中模块图、流程图要画得清楚、标准,尽量防止错别字。另附报告模板7)答辩:告知指导教师设计任务已经完成,进入考核阶段。首先展示和讲解设计报告然后运行系统,演示系统功能和运行结果,准备答复指导教师提出的问题。三、课程设计的基本内容题目课程设计题目按“高级语言程序设计”课程的成绩分成两组A/B

5、 A 组同学首先重做期末考试题单号:程序填空题1. (5 分) 功能:将一个字符串中的前N个字符复制到一个字符数组中去,不许使用 strcpy函数。#include void main ( ) char str1 80, str2 80; int i, n; gets( str1); scanf( %d ,& n); for ( i =0; _ ( 1) _ ; i +) str2 i = str1 i ; _ ( 2) _; printf( %sn, str2); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 22 页2. (5 分

6、) 功能:用冒泡法对数组a 进行由小到大的排序。#include void fun( int * a, int n ) int i, j , t ; for ( j =0; _( 1) _; j +) for ( i =0; _( 2) _ ; i +) if( a i a i +1) t=a i ;_ ( 3) _ ; a i +1= t ; int main() int i, n, a 100 ; printf( Please input the number of the case:n); scanf( %d ,& n); for( i =0; i n; i +) scanf( %d ,

7、& a i ); _ ( 4) _; for( i =0; i n; i +) printf( %3d , a i ); 3. (5 分) 功能:产生并输出杨辉三角的前七行。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 #include 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 22 页void main ( ) int a 7 7; int i, j , k; for ( i =0; _( 1) _; i +) a i 0= 1; a i i = 1;

8、for ( i =2; i 7; i +) for ( j =1; j i ; j +) a i j = a i - 1 j - 1+ _( 2) _; for ( i =0; i j ; j +) printf( %6d , _ ( 3) _ ); printf( n); 4. (5 分) 功能:输入 n 个整数数据求它们的平均值。设n=2 并且 n=100。#include float ave ( int * a, int n ) int i; int s =0; for( i =0; _1_ ; i +) s+=a _2_; return _3_ ; int main () int da

9、ta 100 ; int i , n; float av ; scanf( %d ,& n); for( i =0; i n; i +)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 22 页 scanf( %d ,& data i ); _4_; printf( %.2fn, av ); return 0 ; 编程题 1. (10 分) 两个整数的和、差、积、商题目描述输入两个整数,输出它们的和、差、积、商。输入描述输入两个整数,第二个数不能为0,以空格间隔输出描述四个数在同一行中输出,中间以空格分隔,商保留两位小数输入样例3 4 输

10、出样例2. (10分)数值统计题目描述统计给定的 n 个数中,负数、零和正数的个数。输入描述每组输入数据的第一个数是整数n,表示需要统计的数值的个数,然后是n 个实数;输出描述对于每组输入数据,输出一行a,b 和 c,分别表示给定的数据中负数、零和正数的个数。输入样例精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 22 页6 0 1 2 3 -1 0 输出样例1 2 3 3. (10分)求阶乘的和题目描述输入正整数 n, 在主函数中输出1!+2!+3!+.n!的值, 要求将计算阶乘的运算写成函数 JC(n) 。输入描述输入一个 int型

11、的正整数 n 输出描述输出阶乘的和输入样例3 输出样例9 4. (10分)求最大值与最小值题目描述定义一个函数 max_min,求一组数据的最大值和最小值. 在主函数中输入 n 和 n 个数据,调用 max_min函数求出最大最小值, 然后在主函数中输出这 n 个数的最大值和最小值。输入描述输入 n 和 n 个数输出描述输出最大值占一行,保留2 位小数输出最小值占一行,保留2 位小数输入样例6 5.2 -7 8 0.84 4 1 输出样例精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 22 页期末考试双号填空题1. (5 分) 功能:已

12、定义一个含有30 个元素的数组s, 函数 fun1 的功能是按顺序分别赋予各元素从2开始的偶数 , 函数 fun2 则按顺序每五个元素求一个平均值 , 并将该值存放在数组w中。#includedouble s 30, w 6;void fun1( double * s) int k , i ; for( k=2, i =0; i 30; i +) _( 1) _; k+=2; void fun2( double * s, double * w) double sum =; int k , i ; for( k=0, i =0; i 30; i +) sum+=s i ; if( _ ( 2)

13、_ ) w k= sum/ 5; _( 3) _; k+; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 22 页 int main() int i ; fun1( s); _( 4) _; for( i =0; i 30; i +) if( i % 5=0) printf( n); printf( %8.2lf, s i ); printf( n); for( i =0; i 6; i +) printf( %8.2lf, w i ); 2. (5 分) 功能:删除一个字符串中的所有数字字符。#include void delnum

14、( char * s) int i, j ; for( i =0, j =0; _ ( 1) _0 ; i +) if( s i 9) _( 3) _; j+; s j = 0; int main () char item 1001 ; printf( input a string:n); gets( item ); _ ( 4) _; printf( n%s, item ); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 22 页3. (5 分) 功能: 计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。#define M

15、5 #define N 4 #include void aver( double sco _ ( 1) _ ) int i, j ; for( i =0; i _( 2) _; i +) for( j =0; j N; j +) sco i N += sco i j ; sco M j += sco i j ; sco M N += sco i j ; sco i N _ ( 3) _ N ; for( j =0; j N; j +) sco M _ ( 4) _ /= M ; sco M N= sco M N/ M / N; int main() int i, j ; static doub

16、le score M +1 N+1=78 , 85, 83, 65, 88 , 91, 89, 93, 72, 65 , 54, 75,86, 88, 75 , 60,69, 60, 50 , 72; aver( score ); printf( 学生编号课程 1 课程 2 课程 3 课程 4 个人平均 n); for( i =0; i M ; i +) printf( 学生%dt, i +1); for( j =0; j N+1; j +) printf( %6.1ft, score i j ); printf( n); for( j =0; j 8*( N+2); j +) printf(

17、 -);精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 22 页 printf( n课程平均 ); for( j =0; j =2 且 n=100。#include float ave ( int * a, int n ) int i; int s =0; for( i =0; _1_ ; i +) s+=*( _2_ ); return _3_ ; int main () int data 100 ; int i , n; scanf( %d ,& n); for( i =0; i n; i +) scanf( %d ,& data

18、i ); printf( %.2fn, _4_ ); return 0 ; 编程题1. (10 分)长方形的周长和面积精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 22 页题目描述输入长方形的长和宽,计算并输出其周长和面积。输入描述输入长方形的长和宽,输入数据以空格分隔输出描述输出在同一行中,以空格分隔,输出结果保留2 位小数。输入样例输出样例2. (10 分)统计非负数之和题目描述输入 n 个1n200整数,统计非负数的个数,并计算非负数之和。输入描述先输入 n1n200,再输入n 个整数输出描述输出“非负数的个数非负数之和”如果

19、 n 值越界,输出“ Error ”输入样例10 0 5 6 9 -8 4 3 -7 1 2 5 -1 -2 -3 -4 -5 400 输出样例8 30 0 0 Error 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 22 页3. (10 分)求 1 到 n 个数阶乘的和题目描述在主函数中输出 1!+2!+3!+.+n!的值n 小于等于 10。要求将计算阶乘的运算写成函数。输入描述n 输出描述输出 1!+2!+3!+.+n!的值 n 小于等于 10。输入样例5 输出样例153 4. (10 分)最大最小值位置题目描述从键盘任意输入

20、 10 个整数,用函数编程实现计算最大值和最小值,并在主调函数中得到它们所在数组中的位置。输入描述输入 10 个整数输出描述输出最大值和最小值在数组中的位置输入样例7 48 18 9 21 14 30 50 47 32 输出样例7 0 然后 A 组:必须完成以下所有题目精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 22 页题目 1:写一个函数计算以下函数的值f(0),f(3),f(-3)。测试之题目 2:写一个函数void maxMinAver(int *data, int *max, int *min,float * ave ,i

21、nt size), 求一组数据的最大值、最小值和平均值,测试之。其中data 指向给定数据的数组的指针, max、min、ave 分别指向最大值、最小值和平均值,size 是数组的大小。要求第一个实参是数组,第2、3、4 个实参都是对普通的简单变量的某种操作,最后一个实参是数组的大小。测试之题目 3 写一个函数用指针型字符串实现两个字符串比较,int mystrcmp(const char *str1, const char *str2),如果大于返回1,等于返回0,小于返回-1,测试之题目 4 定义一个学生结构体, 取别名 STU ,包含学号、 、数学、语文、电脑、英语等课程成绩,还有总分和

22、平均分,写一个函数实现求一组学生每个学生各门课程的平均值,函数原型为float ave(STU stu,int size)。测试之。题目 5写一个函数能够从文件读入一组学生STU的信息,保存到一个结构体数组中。题目 6 写一个函数能够输出某一学生结构体数组STU stu10的信息和每个人的总分、平均分到某一文本文件中,测试之。输出格式是:“%s %s %d %d %d %d %d % ”题目 7 写一个函数能够打印输出学生结构体数组STU stu10的信息到屏幕上,测试之题目 8写一个函数能够把一组学生成绩信息按总分进行排序,测试之。题目 9写一个函数能够查找给定学号的学生成绩信息,如果找到打

23、印成绩信息,如果没有,显示“ not found!”. 测试之。题目 10设计一个界面函数,包含上述11 个题目的调用,即请选择1调用第一个函数具体的函数名2调用第二个函数具体的函数名3精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 22 页4。 。 。 。 。59 调用第 9 个函数具体的函数名继续吗?输入y 继续下一次选择,输入n 结束题目 11 创建一个工程文件,包含三个文件,第一个是主函数所在的源文件,含有显示界面,选择 1-10, 调用不同的函数,第二个是各个函数所在的源文件,第三个是各个函数原型所在的头文件。B 组:必做题

24、:1 几种排序方法进行比较编一程序对几种排序方法进行比较:交换法、选择法、插入法、冒泡法四种方法选2。具体比较方法是: 随机生成一组300 个的100 以内的整数数据,用选定的几种排序方法进行排序。纪录排序过程中数据比较和交换的次数,输出比较结果。2 指针作为函数的参数写一个函数void maxMinAver(int *data, int *max, int *min,float * ave ,int size), 求一组数据的最大值、最小值和平均值,测试之。其中data 指向给定数据的数组的指针,max 、min、ave 分别指向最大值、最小值和平均值,size 是数组的大小。要求第一个实参

25、是数组,第2、3、4 个实参都是对普通的简单变量的某种操作,最后一个实参是数组的大小。测试之。3. 以下题目 必选其一题目 1:基于结构体数组的学生成绩管理系统的设计与实现精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 22 页具体要求:1系统具有打开已有数据文件、添加一条学生纪录即一条学生成绩信息、删除一条学生纪录、修改一条学生纪录,查看所有的成绩信息、按照学号查找学生成绩信息、按照总分降序排序学生成绩信息、按照平均值查询平均值大于90 的学生信息、按照平均值查询平均值小于60 的学生信息等功能。注意添加、修改、删除学生纪录之后要把

26、修改后的数据输出到相应的文件中。(2) 程序应该能进行简单的异常处理。如检查用户输入数据的有效性,在用户输入数据有错误如类型错误或无效时,不应中断程序的执行,应该给出提示。打开文件时检查文件是否存在。除数是否为零的检测。(3) 从文件中读入的数据保存在一个结构体数组中,对数组的操作可以用指针,也可以只用下标,最好有用指针的函数模块,如通过文件加载数据到数组。题目 2:基于链表的学生成绩管理系统的设计与实现具体要求:1系统具有打开已有数据文件、添加一条学生纪录即一条学生成绩信息、删除一条学生纪录、 修改一条学生纪录, 查看所有的成绩信息、按照学号查找学生成绩信息、按照总分降序排序学生成绩信息、按

27、照平均值查询平均值大于90 的学生信息、按照平均值查询平均值小于60 的学生信息等功能,注意添加、修改、删除学生纪录之后要把修改后的数据输出到相应的文件中。(2) 程序应该能进行简单的异常处理。如检查用户输入数据的有效性,在用户输入数据有错误如类型错误或无效时,不应中断程序的执行,应该给出提示。打开文件时检查文件是否存在。除数是否为零的检测。(3) 从文件中读入的数据保存在一个结构体链表中,对数据的访问是遍历已经建好的链表。题目 3:通讯录管理系统问题描述:写一个通讯录管理程序,使其具有增加插入、删除、排序输出、查询功能。输入输出样例:1 please input name:aaaaa tel

28、num:12356565 address:ajkfshdffs 2 please input name:bbbbb telnum:2376823 address:akfjklsdjfl 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 22 页3 please input name:ccccc telnum:asdkljsdlkfj address:aslsdkf Z address book = name: aaaaa telnum: 12356565 taddress: ajkfshdffs - name: bbbbb telnum

29、: 2376823 taddress: akfjklsdjfl - name: ccccc telnum: asdkljsdlkfj taddress: aslsdkf - query what name:bbbbb name: bbbbb telnum: 2376823 taddress: akfjklsdjfl query what telnum:2376823 name: bbbbb telnum: 2376823 taddress: akfjklsdjfl delete which name:bbbbb address book = name: aaaaa telnum: 123565

30、65 taddress: ajkfshdffs - name: ccccc telnum: asdkljsdlkfj taddress: aslsdkf - 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 22 页选做其它类型的题目:题目 4 模拟简单的计算器设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、* 、/、 =、以及清除、 A全清除操作。基本要求程序运行时,显示一个窗口或菜单界面,等待用户选择运算类型,并输入数据,回车后输出计算结果 (不用考虑运算符的优先级) 测试数据程序输入不少于5 种不同的表达式进行测试

31、。题目 5 写一个日历显示程序基本功能: 1 输入任一年将显示出该年的所有月份日期,对应的星期 2 注意闰年情况其显示格式要求如下:1月份:中文英文都可以,2下一行显示星期,从周日到周六,中英文都可以3下一行开始显示日期从1 号开始,并按其是周几实际情况与上面的星期数垂直对齐当输入 2004 显示如下:Input the year:2004 Input the file name:a The calendar of the year 2004. Januray 1 February 2 Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sa

32、t 1 2 3 1 2 3 4 5 6 7 4 5 6 7 8 9 10 8 9 10 11 12 13 14 11 12 13 14 15 16 17 15 16 17 18 19 20 21 18 19 20 21 22 23 24 22 23 24 25 26 27 28 25 26 27 28 29 30 31 29 = = March 3 April 4 Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 1 2 3 7 8 9 10 11 12 13 4 5 6 7 8 9 10 14 15 16

33、17 18 19 20 11 12 13 14 15 16 17 21 22 23 24 25 26 27 18 19 20 21 22 23 24 28 29 30 31 25 26 27 28 29 30 = = 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 22 页题目 6 钟表显示程序要求:能模拟机械钟表行走,还要准确地利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。如以下图提示:可以使用 Turbo C 或 Grx 图形库或者课件中提供的postscript的格式的图形库题目 7 贪吃蛇游戏程序要求

34、: 游戏时, 一条蛇在密闭的围墙内,围墙 内会随机出现一个食物,通过键盘上的 4 个光标键控制蛇向上下左右4 个方向移动, 蛇头接到食物, 则表示食物被蛇吃掉,这时蛇的身体加长一节,同时计10 分。接着又出现食物等待被蛇吃掉。如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体,则游戏结束。提示:使用Turbo C 的图形库四. 学时安排:课程设计的时间是一周。具体地点:学校计算中心,北教1 号楼具体时间:周1: 1 、2 节集中辅导,3-6 实验周 2: 1-6实验周 3: 1-4 实验周 4: 1-6 实验周 5: 1-6考核其它时间自由利用。精选学习资料 - - - - - - -

35、- - 名师归纳总结 - - - - - - -第 18 页,共 22 页五. 程序设计可选编译器或集成开发环境1 Turbo C 或 WinTC 机房电脑已安装2 机房电脑已安装3Gcc 和 Code:Blocks 下载后自行安装,下载codeblocks-13.12 六、建议教材和参考书建议教材:自编教材问题求解与程序设计以及本课程设计指导参考书:1 C程序设计语言 第 2 版著,许宝文等译,机械工业出版社,2004 2 C 语言程序设计现代方法美 K.N.King著,吕秀锋译,人民邮电出版社,2007 3 C Primer Plus中文版第五版 , 美 Stephen Prata著,云巅

36、工作室译,人民邮电出版社,2005 4 C大学教程第 5 版 , 美 H.M.Deitel,P.J.Deitel著,苏小红等译,电子工业出版社, 2008 5 你必须知道的495 个 C语言问题,( 美) STEVE SUMMIT 著,孙云等译,人民邮电出版社, 2009 6 C陷阱与缺陷, 美 Andrew Koenig著、高巍译,人民邮电出版社,2008 7 C专家编程,( 美)Peter vander Linden( 著 ) , 徐波 ( 译) , 人民邮电出版社, 2008 8 C语言程序设计C99版 ,陈良银等编著,清华大学出版社,2006 9 C程序设计课程设计 ,刘振安 , 孙忱

37、 , 机械工业出版社,2004七、考核方式与评分方法或标准考核方式:演示和口试相结合评分标准:1.程序的基本功能是否实现2.数据结构是静态还是动态3.是否包含文件操作游戏类除外4.是否考虑异常处理5.文档和代码书写是否标准 5答复以下问题是否清晰 6是否使用了多文件建立工程 7是否有旷课最终的成绩按五分制评定:优、良、中、及格和不及格。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 22 页高级语言程序设计课程设计题目:专业班级学生学号指导教师起止时间_年 _月精选学习资料 - - - - - - - - - 名师归纳总结 - - -

38、 - - - -第 20 页,共 22 页报告内容A 组和 B 组必做题写出题目每个题目给出完整实现代码每个题目做一个简短的评论,指出解决该问题的关键所在B 组必选题题目-* 1 系统分析系统要做什么?什么样的数据需要处理,数据要求怎么输入怎么输出,有哪些基本功能,2 系统设计1数据结构设计:即怎么表示数据,如何存储数据?用数组还是链表,数据结构体怎么定义的2功能设计,有哪些功能,画出总体功能结构图给出主函数流程图3给出每个功能对应的函数原型和该功能对应的流程图4系统界面设计:给出操作界面3 系统实现写出每个子函数和主函数的实现代码按照以下顺序分别写出精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 22 页1.函数原型构成的头文件2.主函数所在的文件代码3.各个函数模块对应的文件代码4 运行测试设计测试数据,并输入,给出运行结果5 心得体会6 参考文献其它可选做题完成情况附在最后包括算法设计和实现代码精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 22 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁