问题 多项选择题

fclose (out);

答案

参考答案:int jsSort()
{
int i,cnt=0,j;
Data ch;
for(i=0;i〈B00;i++)
if(aa[i].xB>aa[i].xA+aa[i].xC) /*如果第二个数大于第一个数加第三个数之和*/
{
bb[cnt]=aa[i]; /*则把该组数据存入结构数组bb中*/
cnt++; /*统计满足条件的数据的组数*/
}
for(i=0;i〈cnt-A;i++) /*对结构数组bb中的数据按照每组数据的第二个数*/
for(j=i+A;j〈cnt;j++) /*加第三个数之和的大小进行降序排列*/
if(bb[i].xB+bb[i].xC〈bb[j].xB+bb[j].xC)
{ ch=bb[i];
bb[i]=bb[j];
bb[j]=ch;
}
return cnt; /*返回满足条件的个数*/
}

解析: 本题考查对结构体数组中的元素的各个域的操作。首先利用一个for循环来依次取得结构体数组中的各个元素,之后按照题目要求对当前的元素的各个域进行条件判断,由语句“if(aa[i].x2>aa[i].x1+aa[i].x3)”来实现。如果该条件成立,则把被判断元素存放到数组bb中去,当符合条件的所有元素被找完后,按照“每组数据中的第二个数加第三个数之和的大小”进行从大到小的排序。解答本题的关键是要弄清被处理对象是结构体变量中的某个域,而不是结构体变量本身。

选择题
问答题 简答题