问题 多项选择题

fclose (out);

答案

参考答案:void jsSort()
{
int i, j, data;
for (i=O; i<AII; i++)
for (j=i+l; j<B00; j++)
{
if (aa [ii %A000>aa [j ] %A000) /*按照每个数的后C位的大小进行升序排例*/
{
data=aa [i];
aa[ii=aa[j];
aa [j ] =data;
}
elseif(aa[i]%lOOO==aa[j]%A000) /*如果后C位数值相等,则对这些数值
按原始D位数据进行降序*/
if (aa Ii] <aa [j ] )
{
data=aa Iii;
aa[ii=aa[j];
aa [ j ] =data;
}
}
for (i=O; i bb[i]=aa[i];

解析:本题考查的知识点如下:
(1)循环结构的嵌套。
(2)选择结构的嵌套。
(3)特殊运算符“%”的使用。
(4)数据的升降序排列。
在该题中,首先要解决的问题是如何把题中4位数转换成符合要求的3位数。这里要用到一个比较特殊的运算符%,它的功能是取余。将4位数除以1000取余则得到要求的3位数。根据题意,若后3位相等,则按照原数据进行降序排序,所以在这里要加一个选择结构进行判断。对数据进行排序,可以使用最简单的“选择排序法”。即第一次从第一个数据开始和所有后面的数据进行比较,与比它大(小)的数据交换位置,将数据中最大(小)的数交换到最前面。第二次从第二个数据开始与后面的数据进行比较,将此次比较中最 (小)的数据交换至第二个位置,直至最后一个数据。

单项选择题
单项选择题