首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件IN.dat中有200组数据,每组有3个数,每个数均是三位数。函数Rdata()读取这 200组数据存放到结构数组aa中,请编写函数greatSort(),其功能是:要求在200组数据中找出条件为每组中的第1个数大于第2个数加第3个数的和,其中满足条
在文件IN.dat中有200组数据,每组有3个数,每个数均是三位数。函数Rdata()读取这 200组数据存放到结构数组aa中,请编写函数greatSort(),其功能是:要求在200组数据中找出条件为每组中的第1个数大于第2个数加第3个数的和,其中满足条
admin
2010-09-05
29
问题
在文件IN.dat中有200组数据,每组有3个数,每个数均是三位数。函数Rdata()读取这 200组数据存放到结构数组aa中,请编写函数greatSort(),其功能是:要求在200组数据中找出条件为每组中的第1个数大于第2个数加第3个数的和,其中满足条件的组数作为函数 greatSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第1个数加第3个数之和的大小进行升序排列(第1个数加第3个数的和均不相等),排序后的结果仍重新存入结构数组bb中。最后调用函数Wdata(),把结果bb输出到OUT.dat文件中。
注意:部分源程序已经给出。请勿改动主函数main()、读数据函数Rdata()和输出数据函数Wdata()的内容。
#include <stdio. h>
#include <string.h>
#include <conio. h>
typedef struct
{ int x1, x2, x3;
} data;
data aa[200], bb[200];
int greatSort ()
{
}
void Rdata ()
{ FILE *in;
int i;
in = fopen("IN.dat", "r");
for (i=0; i<200; i++)
fscanf (in, "%d %d %d", &aa
. x1, &aa
.x2, &aa
.x3);
fclose (in);
}
void Wdata(int count)
{ FILE *out;
int i;
out = fopen("OUT.dat", "w");
for (i=0; i<count; i++)
{ printf("%d,%d,%d 第一个数+第三个数=%d\n", bb
.x1,
bb
.x2, bb
.x3, bb
.x1 + bb
. x3);
fprintf (out, "%d %d %d\n", bb
.x1, bb
.x2,
bb
.x3);
}
fclose (out);
}
void main ()
{ int count;
Rdata ( );
count = greatSort() ;/* 返回满足条件的个数 */
Wdata (count);
}
选项
答案
int greatSort() { int i, j, count = 0; data val; for (i=0; i<200; i++) if (aa[i] .x1 > aa[i] .x2+aa[i] .x3) { bb[count] = aa[i]; count++; } for (i=0; i<count-1; i++) for (j=i+1; j<count; j++) if (bb[i] .x1+bb[i] .x3> bb[j] .x1+bb[j] .x3) { va1 = bb[i]; bb[i] = bb[j]; bb[j] = va1; } return count; } [解题思路] 在for循环语句中,自变量i从0递增到200,判断每组中的第1个数大于第2个数加第3个数之和即表达式aa[i]. x1>aa[i]. x2+aa[i]. x3是否成立,如果表达式成立,即把aa [i] 赋给数组变量bb,同时计数变量count自加。最后用两重循环对数组bb中的数据按照每组数据的第2个数加第3个数之和的大小进行升序排列。
解析
转载请注明原文地址:https://kaotiyun.com/show/euvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
用户使用操作系统一般有三种方式;终端命令、作业控制语言和
对n个记录的文件进行起泡排序,所需要的辅助存储空间为
假定一个E-R图包含有A实体和B实体,并且从A到B存在着1:n的联系,则转换成关系模型后,包含有【】个关系模式。
设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,哪个(些)是正确的?()Ⅰ.若X→→Y,则X→YⅡ.若X→Y,则X→→YⅢ.若X→→Y,且YY,则X→→Y’Ⅳ.若X→→Y,则X→
数据库中,每个事务都感觉不到系统中其他事务在并发执行,这一特性称为事务的______。
下面所列的条目中,哪些是新一代数据库开发工具应具有的特征?______。Ⅰ.支持开发人员对各种数据对象(字符、数字、图形、声音等)的处理Ⅱ.支持基于INTERNET应用的开发Ⅲ.支持面向对象的程序设计
可以将一个堆序列看成是一棵完全二叉树结点的层次序列,下面关键序列()就是一个堆。
为了控制用户程序不能执行特权指令是通过设置PSW中的一个状态位来标志,这一位是
Oracle针对Internet/Intranet的产品是______。
数据库系统的三级组织结构中,DBA视图是【】。
随机试题
______是犹太教的经典,也是古代希伯来人的文化典籍汇编。
在病例对照研究中,控制混杂偏倚的措施包括
下列交易或事项形成的负债中,其计税基础等于账面价值的有()。
根据税收征收管理法律制度的规定,下列各项中,当事人可以直接提起税务行政诉讼的有()。
群体层面社会工作的主要方法是()。
语言:思想
在工作中防止“过”或“不及”的关键在于()。
对交通事故的调查发现,严查酒驾的城市和不严查酒驾的城市交通事故发生率实际上是差不多的。然而多数专家认为:严查酒驾确实能降低交通事故的发生。以下哪项对解释这种不一致最有帮助?
IftherewasonethingAmericanshadarighttoexpectfromCongress,itwasafederalplantohelptheelderlypayforprescrip
Anewreportclaimsthatthemakersofsugar-laden(含糖)drinkssuchassodas,sportsdrinks,energydrinksandfruitdrinkstaked
最新回复
(
0
)