全国计算机等级考试二级C语言上机答题技巧
- 格式:doc
- 大小:43.50 KB
- 文档页数:14
一、填空题(一)链表类型题目包括:15、42、43、50、56、75、79、85、86、87技巧解析:1、首先看清楚题目要求和意思。
看清楚链表有没有带头结点,如果带有头结点,指向数据源的指针内容是p=h—>next;如果是不带有头结点,则填写的是p=h;2、如果所要填写的空在循环语句while的括号中的时候,里面的内容填写的是p或者是q,以最近出现的为主;如果是在循环语句的里面的时候,填写的是q=p —>next;3、如果是排序的时候,从小到大的时候是大于号,从大到小的时候是小于号。
4、如果链表题目中考到调用函数,一般只需要填入实参head,例如:fun(head);在构造链表的时候都会有头结点,一般用head来表示,head指向了链表中的第一个数据的地址。
细化分类:1.将数据域中的数据进行排序,类似题目:15、42void fun(NODE *h){ NODE *p, *q; int t;/**********found**********/p = __1__ ;指向数据源,由于h是带头结点的链表,因此需要填入h->next while (p) {判断链表p是否已经到末尾/**********found**********/q = __2__ ; 比较两个数的大小,因此需要q指向p中的下一个数据需要填入p->next,也就是说p指向了第一个数据,q指向了第二个数据。
while (q) {判断q是否指向了末尾/**********found**********/if (p->data __3__ q->data)从小到大排序,因此填入大于符号{ t = p->data; p->data = q->data; q->data = t; }交换数据 q = q->next; q自增,目的是比较出最小的数据}p = p->next; p自增}}联想记忆分析1:对一维数组进行从小到大排序void fun(int b[N]){ int i, j, a;for(i=0;i<N-1;i++)for(j=i;j<N;j++){if(b[i]>b[j]){a=b[i];b[i]=b[j];b[j]=a;}}}联想记忆分析2:对结构体数组按照姓名进行从小到大排序for(i=0;i<N-1;i++)for(j=i;j<N;j++){if(strcmp(a[i].name,a[j].name)>0){a=b[i];b[i]=b[j];b[j]=a;}2.将数据域中的元素逆置,类似的题目:43、50链表中数据域中的元素逆置,首先将第一个数据取出来放在最后一个位置,也就是将其next置空,表示已经到了末尾。
全国计算机二级C语言考试答题策略及技巧计算机二级C语言考试是广大计算机专业学生必须要应对的一项考试。
为了帮助大家更好地应对这个考试,本文将介绍一些答题策略和技巧,希望能为大家提供一些帮助。
以下是具体的内容:一、了解考试大纲和考试要点在准备考试之前,首先要详细了解考试大纲和考试要点。
考试大纲会明确列出考试的内容范围,而考试要点则会告诉我们在考试中需要重点关注的知识点和考点。
通过对这些内容的了解,我们可以以针对性的方式进行备考,提高考试效率。
二、刷题是关键在备考过程中,刷题是非常关键的一步。
通过解决大量的真题和模拟题,我们可以熟悉考试的题型和难度,掌握解题思路和方法,提高我们的答题水平。
此外,刷题还有助于我们发现自己的薄弱环节,并有针对性地进行复习和强化,从而更好地应对考试。
三、合理安排备考时间备考时间的合理安排对我们备考的效果起到至关重要的作用。
首先,我们要合理划分时间,进行系统而有条理的学习。
其次,要根据自己的实际情况,合理安排每天的学习时间,保证高效率地进行学习和复习。
此外,还要留出一定的时间进行模拟考试和自我检测,检验自己的学习成果。
四、注重基础知识的掌握在备考过程中,要注重对C语言基础知识的掌握。
这些基础知识是我们应对考试的基础,也是我们进行进一步学习和解题的前提。
例如,掌握C语言的语法规则、常用的数据类型和相关操作,以及常见的控制语句和函数等。
通过对这些基础知识的深入理解和掌握,我们可以更好地应对考试中的各类题目。
五、注意细节和常见错误在解答题目的过程中,我们要注意细节和常见错误。
在C语言中,一些小错误常常会导致程序的错误或逻辑的混乱,从而影响整体的解题效果。
因此,在解答题目时,我们要仔细审题,注意细节,并且避免一些常见的错误。
例如,注意变量的命名规范、数组的越界问题、指针的使用等等。
六、做好总结与复习在备考的最后阶段,我们要对之前的学习进行总结和复习。
通过总结,我们可以对所学知识进行整合和梳理,形成系统而完整的知识框架。
上机考试注意事项1.上机考试试题分析与解题方法二级C上机考试由程序填空题、程序改错题和程序设计题组成,不同的题目解题方法也不一样,具体分析如下:(1)程序填空题:该题目一般为两个空,考生应该首先将程序中的下划线删除,然后将程序编译一次(不是运行,编译的快捷键ctrl+F7),如果没有错,那么就可以填空了。
填空内容一般为分支结构或循环结构里面的条件、函数调用、函数的返回值、scanf函数的地址项列表、break和continue语句等。
(2)程序改错题:程序改错题就是修改程序中的错误,使得程序能够完成题目中的要求。
考生需要注意的是程序的错误有两类,一类称为编译或者语法错误,这类错误只要考生掌握一些常见的编译错误,就能迎刃而解了。
常见的编译错误见附录1;另一类错误称之为逻辑错误,这类错误是比较隐蔽的,需要多加练习才能熟悉的。
针对二级考试,常见的逻辑错误有:①存储结果值的变量未初始化或者初始化错误,比如和变量s为float 类型,初始化确为s=1,恰好在程序的后续部分有s/n这样的表达式(其中n为int类型),那么计算结果必然有错误;②死循环,如果程序中有循环,一定要注意对循环条件的检查。
(3)程序设计题:该题目一般是让大家编制一个子函数,这个子函数完成题目的要求的功能。
该题目是较难的一道题,大家首先应该弄清楚这个子函数应该完成的功能,然后可以用笔进行分析,抓住完成该功能的关键,最后编写程序,程序编写完之后,需要做验证,如果源程序中有验证的部分,只要按照题目要求的数据进行输入,检查结果与题目中的结果是否保持一致即可;如果没有,首先在main函数中找到调用该函数的语句,然后在他后面将结果进行输出进行验证(注意:因为题目中没有验证的数据,所以需要大家自己根据子函数功能设计数据)或者直接在子函数中输出。
全国计算机等级考试二级C语言上机答题技巧一、上机改错题的特点和注意事项1.上机改错的试题中通常包含两个(或三个)错误需要修改。
2.试题中用"******found******/"来提示在下一行(或下面第二行)有错。
3.错误的性质基本分语法错和逻辑错两种,也有些试题要求把语句添加在下划线处。
4.特别要注意的是:只能在出错的行上进行修改,不要改动程序行的顺序,更不要自己另编程序。
二、上机改错测试时,建议按以下步骤进行1.首先仔细审题,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验改错后程序运行的结果是否正确。
2.当在Visual C++6.0环境下调出源程序后,审视所在函数,根据题义理解程序所采用的基本算法,做到心里有数。
3.先按CTRL+F7对测试程序进行检查是否有语法错误。
当编译提示有语法错时,可参考编译提示来查找并改正错误。
4.当不再出现语法错时,使用F7执行,看结果使用CTRL+F5,按照试题的示例给出的数据进行试算,若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就应进一步检查程序中的逻辑错误。
5.当程序存在逻辑错误时,首先应当理解题意、读懂程序的算法,必要时可按步检查数据的流程,以便确定错误所在。
例如,题目要求数据按由小到大排序,而结果数据是按由大到小进行了排序,问题可能出现在条件判断上。
又如,输出的字符串比预期的短,就有可能字符串的结束标志放错了位置。
再如做循环的时候数组上限下限错误了,基数是从0开始而不是1开始的。
修改程序中的逻辑错时,要求考生认真读懂程序代码。
6.修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。
三、上机编程题的特点和说明1.在二级C程序设计上机考试中,要求完成一个独立的函数的编程。
目前教育部考试中心已出版了上机考试习题集,这些有助于学习编程,但考生应当在学习过程中理解基本的算法,通过实际上机操作积累经验,才能掌握基本的编程能力。
计算机二级考试《C语言》的考生技巧初学者必须了解所使用的计算机系统的基本操作方法,学会使用该系统,了解在该系统上如何编辑、编译、连接和运行一个C语言程序。
下面店铺为大家搜索整理的关于计算机二级C语言考生技巧,欢迎参考借鉴!1.笔试试卷分析笔试试卷由选择题和填空题组成。
选择题和填空题一般对基本知识和基本操作进行考查,它主要是测试我们对相关概念的掌握是否全面、理解是否准确、思路是否清晰。
(1)选择题分析选择题为单选题,是客观题,每道题的分值为2分,试题覆盖面广,一般情况下我们不可能做到对每个题目都有把握答对。
考试时就需要我们学会放弃,对于不确定的题目不要在上面花费太多的时间,先记住,然后作答其他题目。
等最后有空余的时间再回过头来仔细考虑这些题目。
二级C语言笔试题目众多,分值分散,我们一定要有全局观,合理地安排考试时间。
选择题一般分为:正面试题和反面试题。
设问是正确观点的题称为正面试题,绝大多数选择题为正面试题;设问是是错误观点的题称为反面试题。
我们在解答选择题时可以如下几个答题方法来答题,这样可以提高答题速度和准确率。
① 顺选法:如果对题中的4个选项,一看就能肯定其中的1个是正确的`,就可以直接得出答案。
对于一些比较容易看出正确选项的题,可以使用排除错误选项。
② 排除法:排除法是将错误答案一一排除的方法。
对题中的4个选项逐个去掉错误的选项。
对于一些比较容易看出错误选项的题,可以使用排除错误选项。
③ 比较法:这种办法是没有办法的办法,如果有些题实在是没有把握,那么就只有比较四个选项中那个更接近题目要求了(这也称之为“蒙猜法”)。
(2)填空题分析填空填一般难度都比较大,一般需要我们准确地填入字符,往往需要非常精确,错一个字也不得分。
在分值方面,每题也是2分。
在作答填空题时要注意以几点:① 答案要写得简洁明了,尽量使用专业术语。
② 认真填写答案,字迹要工整、清楚,格式要规范、正确,在把答案往答题卡上填写后尽量不要涂改。
计算机二级c语言操作题做题技巧一、选择题做题技巧1. 仔细阅读题干,注意题干中的关键词。
2. 理解选项,排除明显错误的选项。
3. 对于不确定的选项,可采用排除法,逐步缩小范围。
4. 利用C语言的基础知识,对选项进行逻辑推理。
二、填空题做题技巧1. 仔细阅读题目要求,明确填空内容。
2. 根据题目所给的代码片段,分析上下文关系。
3. 根据C语言的语法规则,填写合适的语句或表达式。
4. 检查填空后代码的逻辑性和语法正确性。
三、编程题做题技巧1. 理解题目要求,明确编程目的和功能。
2. 仔细分析题目给出的示例输入输出,理解题目的逻辑。
3. 设计算法,将问题分解为小的步骤。
4. 编写代码,注意代码的可读性和逻辑性。
5. 运行测试,检查代码的正确性和完整性。
6. 考虑边界条件和异常情况,确保程序的健壮性。
四、调试题做题技巧1. 阅读题目,了解需要调试的代码段。
2. 运行代码,观察程序的运行结果。
3. 根据题目要求,分析程序中的错误。
4. 利用调试工具,逐步跟踪程序的执行过程。
5. 修改错误,确保程序能够正确运行并满足题目要求。
五、综合应用题做题技巧1. 综合运用选择题、填空题、编程题和调试题的技巧。
2. 分析题目的综合性要求,合理分配解题时间。
3. 注意题目中的细节要求,避免因小失大。
4. 综合运用C语言的知识和技能,解决实际问题。
六、注意事项1. 保持冷静,合理安排考试时间。
2. 仔细审题,避免因粗心大意而失分。
3. 遇到难题不要慌张,先做自己熟悉的题目。
4. 检查答案,确保没有遗漏或错误。
5. 考试结束后,及时复习总结,为下一次考试做好准备。
计算机二级C语言上机编程题技巧这里的特殊方法的特殊之处在于只能用于编程题,且看不懂程序也能得分,甚至得满分,嘿嘿,不错吧!下面就进入正题,详细介绍这种方法。
首先我们要对这种方法的原理有一个清晰的认识,这样才能举一反三,事半功倍。
下面通过一个例子来详细介绍这种方法。
首先大家看一下上机环境的界面,如下图大家注意这里,这是考生文件夹的路径,我们接下来的工作就是围绕这个文件夹展开的。
开始考试,由系统为我们抽好题目后,单击,仔细阅读题目,明确题目要我们做什么后,点击窗口左上方的,在下拉菜单中选择程序编写题,这时会打开VC6.0的程序界面,一大段繁杂的程序很无奈吧,别急,下面开始干活了。
首先点击中的图标编译程序,此时图标就被激活了,点击此图标运行程序(至于为什么要这么做,下面你就会知道的),出现如下图所示的窗口,大家可以看到,程序要求你输入m的值,随便输入一串字符后回车,然后会有文字出现,随便按个键后这个窗口会关闭,以上步骤是做每道编程题前都必须做的,请大家谨记!准备工作做好后,我们接下来进入考生文件夹,会看到和两个文件,我们就要对它们做手脚。
首先用记事本打开in文件,如图所示,大家看第一行文字:3 ABCDEFGHIJK,一开始看不懂这是啥意思,那么看看题目的要求吧:,看出点啥没有?没错,文字中的"3"代表的是m的值,即把第一到第三个字符“ABC”平移到字符串的最后,看例子也知道,"3"后面的字符串就是我们所要处理的对象。
然后打开out文件,如图所示,看到第一行的字符串,它就是对应in文件中的第一行的内容,根据题目要求,把out文件中的第一行文字改为“DEFGHIJKABC",下面的每一行都是对应in文件中的每一行的,如上所示完全修改完毕后,保存并关闭记事本。
(特别注意,完成修改后千万不要再运行程序了,否则我们所做的工作就都泡汤了!!!)好了,交卷走人吧,你已经拿到了编程题的40分,只要前面再做对2个空你就通过了,哈哈,很爽吧!大部分的题目都可以用这种方法做,只要你对题目的意思明白的话就行了,但是,有些题目的答案需要以正确的格式出现才能得分。
1二级C语言上机编程题做题方法和技巧总结一、字符串操作(一)删除*号1、编程题中涉及“删除*号”的相关题目:8、9、19、45、54、57、61、65、77、90、92、1002、编程题第8题的操作过程(1)题目:假设输入的字符串中只包含字母和“*”号。
请编写函数fun,它功能是:除了字符串前导的*号之外,将串中其他*号全部伤处。
例如,字符串中的内容:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG。
(2)分析:题目的含义可以解析为将中间和尾部的*号全部删除,剩余前导*号和字母。
①前导*号:指第一个字母以前的字母,例如****A*BC*DEF*G*******中的前导*有4个;②尾部*号:指最后一个字母以后的字母,例如****A*BC*DEF*G*******中的尾部*有7个;③中间*号:除了前导和尾部*号以外的*号。
(3)【步骤1】打开“编程题”题目,分析NONO函数NONO( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/ FILE *in, *out ;int i ; char s[81] ;in = fopen("D:\\k01\\24010001\\in.dat","r") ;out = fopen("D:\\k01\\24010001\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) {}fclose(in) ;fclose(out) ;}①FILE *in, *out ; /*定义了两个文件类型的指针变量in和out*/ 知识点参照课本P115页相关理论知识,文件指针的定义:FILE *指针变量名;②int i ; char s[81] ;/*定义了一个整型的变量i,用来表示循环的递增;定义了一个字符类型的一维数组s,用来存放后面题目中数据。
上机编程题答题技巧上机编程题的特点和说明一、在二级C程序设计上机考试中,要求完成一个独立的函数的编程。
目前教育部考试中心已出版了上机考试习题集,这些有助于学习编程,但考生应当在学习过程中理解基本的算法,通过实际上机操作积累经验,才能掌握基本的编程能力。
二、进行编程测试时,建议按以下步骤进行1.首先仔细审题,了解试题的要求,记下试题给出的输入和输出例示,以便检验在完成指定的函数后程序运行的结果是否正确。
2.当在Visual C++6.0环境下调出源程序后,应对照函数首部的形参,审视主函数中调用函数时的实参内容,以便明确在函数中需要处理的数据对象。
3.理解试题的要求,审视主函数中调用函数的方式,若在表达式中调用函数(如把函数值赋给某个对象),则要求有函数值返回,需注意函数的类型,并在函数中用return 语句返回函数值;若主函数中仅用语句形式调用函数,则需要通过形参间接地返回所得结果。
4.选择适当的算法进行编程,输入程序语句。
不要忘记及时存盘!5.编译程序,直到没有语法错误。
6.调试程序,利用试题中给出的例示数据进行输入(若要求输入的话),运行程序,用例示的输出数据检验输出结果,直到结果相同。
三、编程时常出现的错误1.书写标识符时,忽略了大小写字母的区别。
main(){int a=5;printf("%d",A);}编译程序把a和A认为是两个不同的变量名,而显示出错信息。
C认为大写字母和小写字母是两个不同的字符。
习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。
2.忽略了变量的类型,进行了不合法的运算。
main(){float a,b;printf("%d",a%b);}%是求余运算,得到a/b的整余数。
整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。
3.将字符常量与字符串常量混淆。
char c;c="a";在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。
C规定以“\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a'和‘\',而把它赋给一个字符变量是不行的。
4.忽略了“=”与“==”的区别。
在许多高级语言中,用“=”符号作为关系运算符“等于”。
如在BASIC程序中可以写if (a=3) then …但C语言中,“=”是赋值运算符,“==”是关系运算符。
如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。
由于习惯问题,初学者往往会犯这样的错误。
5.忘记加分号。
分号是C语句中不可缺少的一部分,语句末尾必须有分号。
a=1b=2编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。
改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。
{ z=x y;t=z/100;printf("%f",t);}对于复合语句来说,最后一个语句中最后的分号不能忽略不写。
6.多加分号。
对于一个复合语句,如:{ z=x y;t=z/100;printf("%f",t);};复合语句的花括号后不应再加分号,否则将会画蛇添足。
又如:if (a%3==0);I ;本是如果3整除a,则I加1。
但由于if (a%3==0)后多加了分号,则if语句到此结束,程序将执行I 语句,不论3是否整除a,I都将自动加1。
再如:for (I=0;I<5;I );{scanf("%d",&x);printf("%d",x);}本意是先后输入5个数,每输入一个数后再将它输出。
由于for()后多加了一个分号,使循环体变为空语句,此时只能输入一个数并输出它。
7.输入变量时忘记加地址运算符“&”。
int a,b;scanf("%d%d",a,b);这是不合法的。
Scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。
“&a”指a在内存中的地址。
8.输入数据的方式与要求不符。
①scanf("%d%d",&a,&b);输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法:3,4输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。
②scanf("%d,%d",&a,&b);C规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。
下面输入是合法的:3,4此时不用逗号而用空格或其它字符是不对的。
3 4 3:4又如:scanf("a=%d,b=%d",&a,&b);输入应如以下形式:a=3,b=49.输入字符的格式与要求不一致。
在用“%c”格式输入字符时,“空格字符”和“转义字符”都作为有效字符输入。
scanf("%c%c%c",&c1,&c2,&c3);如输入a b c字符“a”送给c1,字符“”送给c2,字符“b”送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。
10.输入输出的数据类型与所用格式说明符不一致。
例如,a已定义为整型,b定义为实型a=3;b=4.5;printf("%2.1f%d\n",a,b);编译时不给出出错信息,但运行结果将与原意不符。
这种错误尤其需要注意。
11.输入数据时,企图规定精度。
scanf("%7.2f",&a);这样做是不合法的,输入数据时不能规定精度。
12.switch语句中漏写break语句。
例如:根据考试成绩的等级打印出百分制数段。
switch(grade){ case 'A':printf("85~100\n");case 'B':printf("70~84\n");case 'C':printf("60~69\n");break;case 'D':printf("<60 ");default:printf("error ");由于漏写了break语句,case只起标号的作用,而不起判断作用。
因此,当grade值为A时,printf函数在执行完第一个语句后接着执行第二、三、四、五个printf函数语句。
正确写法应在每个分支后再加上“break;”。
例如case 'A':printf("85~100 ");break;13..在定义数组时,将定义的“元素个数”误认为是可使的最大下标值。
main(){static int a[10]={1,2,3,4,5,6,7,8,9,10};printf("%d",a[10]);}C语言规定:定义时用a[10],表示a数组有10个元素。
其下标值由0开始,所以数组元素a[10]是不存在的。
14.在不应加地址运算符&的位置加了地址运算符。
scanf("%s",&str);C语言编译系统对数组名的处理是:数组名代表该数组的起始地址,且scanf函数中的输入项是字符数组名,不必要再加地址符&。
应改为:scanf("%s",str);四、常用的算法,需花时间识记!1、编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。
例子如:字符串中原有的内容为:abcdefg,则调用该函数后,串中的内容为:gfedcbafun(char *s){ int i=0,t,n=strlen(s);for(;i<n/2;i++) {t=s[i]; s[i]=s[n-1-i];s[n-1-i]=t;}}注:该题的算法是先分别找出字符串的两头,然后同时逐一往中间移动,每移动一次都进行两字符的位置对换,直到中间字符(用s[i],因此要注意把它的内容取出再进行换位。
即先进行取内容运算)2、请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。
例如,原来的字符串为CEAedca,排序后输出为CedcEAa。
int fun(char *s,int num){ int i,j,t;for(i=1;i<num-1;i++) for(j=i;j<num-1;j++)if(s[i]<s[j]) { t=s[i];s[i]=s[j];s[j]=t;}}该题采用的排序法是选择法进行降序排序,算法是用外for()循环从字符串的前端往后端走动,每走动一个字符都用内嵌的for()循环在该字符后找出最小的字符与该字符进行换位。
直到外for()循环走到最后一个字符。
此外,此题还要注意把首尾字符除开,即在最外层for()循环中从1开始,只到num-2即可。
3、请编写一个unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。
例如:w值为5923,则函数返回923;w值为923则函数返回23。
unsigned fun( unsigned w ){ if(w>=10000) return w%10000;if(w>=1000) return w%1000;if(w>=100) return w%100;if(w>=10) return w%10;}注:由于unsigned型整数在0-65535这间,只要它大于10000则对10000求余即得出后面4位,否则如果大于1000则对1000求余得出后3位数,这样一层一层往小的判断。
由于return的作用除了返回值以外,还有当执行到return时就跳出该程序,所以可以连续的用if()语句。
4、请编一函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每行中最小元素,并依次放入pp所指一维数组中,二维数组中的数已在主函数中赋予。
#define M 3#define N 4void fun(int tt[M][N],int pp[N]){ int i, j;for(i=0;i<M;i++) { pp[i]=tt[i][0];for(j=0;j<N;j++) if(tt[i][j]<pp[i])pp[i]=tt[i][j]}}5、请编一个函数fun,其中n数组中元素的个数。