问题 问答题

下列给定程序中,函数fun的功能是:用冒泡法对6个字符串进行升序排列。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdlib.h >
#include <string.h>
#include <conio.h>
#include <stdio.h>
#define MAXLINE 20
fun (char * pstr[6])

int i, j;
char * p;
for(i=0; i<5; i++)

/********** found********** /
for(j=i+1, j<6, j++)

if (strcmp (* (pstr+i), (pstr+
j))>0)

p=* (pstr+i);
/********** found********** /
* (pstr+i)=pstr+j;
* (pstr+j)=p;




void main ()

int i;
char * pstr[6], str[6] [MAXLINE];
system ("CLS");
for(i=0; i<6; i++)
pstr[i]=str[i];
printf("\nEnter 6 string(1 string
at each line) :\n ");
for(i=0; i<6; i++)
scanf("% s", pstr[i]);
fun (pstr);
printf (" The strings after sor-
ting:\n ");
for (i=0; i<6; i++)
printf ("% s\n ", pstr[i]);

答案

参考答案:for (j = i + 1; j < 6; j++)
(2) *(pstr + i) = *(pstr + j) ;
答案考生文件夹

解析: 本题考查:冒泡排序算法;for循环语句格式;指针数组。
[解题思路] (1)此处考查for语句的格式,各表达式之间应用";"割开。
(2)此处考查用指针表示数组元素的方法,*(pstr+I)表示pstr所指向数组的第I个元素,同理*(pstr+j)表示pstr所指向数组的第j个元素。
[解题宝典] 冒泡排序算法,其基本思想是,将待排序的元素看作是竖着排列的"气泡",较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个"气泡"序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即"轻"的元素在下面,就交换它们的位置。显然,处理一遍之后,"最轻"的元素就浮到了最高位置;处理二遍之后,"次轻"的元素就浮到了次高位置。依次类推,完成排序。用代码实现数组s[N]的升序排列为:
for(i=0; i<N; i++)
for(j=i+1; j<N; j++)
if(s[i]>s[j])
{t=s[i]; s[i]=s[j]
s[j]=to;}

单项选择题 A1/A2型题
问答题 简答题

材料一:一位中学生在期末考试中数学得了85分,觉得很不理想,数学老师给他列了几个式子,帮他分析学习情况。

(1)期末考试成绩85分,上次考试成绩80分。

(2)期末考试成绩85分,全班学生平均成绩83分,上次考试全班平均87分。

(3)期末考试成绩85分,老师预期的教学目标是90分。

最后,老师一致认为:成绩提高了,学习进步了,但还没有达到老师预期的教学目标,学习与教学要求还有一定的差距,仍需继续努力。

材料二:魏书生对刚接任的一个班级进行摸底测验,满分100分的试卷,有个学生语文只考了8分。魏老师找他谈话。谈话中,魏老师开门见山地说:“我听语文老师说,你上课根本就不听讲,是吗?”学生答是。”“听你父母说,你在家也不写作业,是吗?”学生回答:“是,我什么也不会,什么也不想做。”魏老师说:“你根本不听讲、不学习,还能考8分,说明你挺聪明的,要是你稍微努力一下,肯定会比这次考得好。”魏老师把他叫到自己跟前打开试卷,帮他分析每一题,哪些只要去学习记忆就可以掌握的,哪些是需要努力就可以完成的。在以后的日子里,魏老师允许这个学生上课不听讲,可以选择自己喜欢的内容进行学习;在期中考试时他考了40多分。之后魏老师继续帮他检查学习的效果,帮他确定学习内容,不断地督促,检查他的学习落实情况。到了期末考试的时候他已经可以考到70多分了,就这样魏老师转化了一个语文成绩很差的学生。

根据材料,结合实际,谈谈自己对教学评价的认识及今后在教学中如何对学生进行评价。