首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在文件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
57
问题
在文件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全国计算机三级
相关试题推荐
在关系模式R(D,E,G)中,存在函数依赖关系{E→D,(D,G)→E}则候选码为【】,关系模式R(D,E,G)最高可以达到【】。
在关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A)则候选码为【】。关系模式R(A,B,C,D)最高可以达到【】范式。
Atmstrong公理系统中有一条推理规则为:若X→Y为F所逻辑蕴涵,且,则XZ→YZ为F所逻辑蕴涵。这条推理规则称作【】。
在数据库管理系统的层次结构中,数据存取层处理的对象是单个______。它把上层的集合操作转化为单记录操作。
在一棵二叉排序树中,按______遍历得到的结点序列是有序序列。
已知一个待散列存储的线性表18,34,58,26,75,67,48,81,散列函数为H(k)=kmod11,若采用线性探测法解决冲突,则平均查找长度为______。若采用链接法解决冲突,则平均查找长度为______。
数据结构包括3个方面的内容是数据的______、数据的逻辑结构、数据的运算。
对Interned上的B类IP地址,网络类型占两位,数值为0x10,如下对B类网表述正确的是()。
下面不属于对属性列和视图的操作权限的操作有
随机试题
认为生姜是“呕家圣药”的医家是()
吗啡不用于慢性钝痛是因
质量保证体系是企业内部的一种管理手段,在( )环境中,质量保证体系是施工单位取得建设单位信任的手段。
“画为心迹,境由心生”,艺术创作是一种心灵历程,是艺术家内心对自然与社会的真实体验,它最接近自然而又最超越自然。这说明()。①艺术创作来自艺术家的灵感②艺术创作是客体主体化的过程③艺术作品的形式与内容都是主观的
John’ssuccesshasnothingtodowithgoodluck.Itisyearsofhardwork______hasmadehimwhatheistoday.
BusinessCycle
计算,其中D={(x,y)|x2+y2≤2,y≥x2}。
Airpollutionkilledaboutsevenmillionpeoplelastyear,makingittheworld’ssinglebiggestenvironmentalhealthrisk,theW
Who______wasgoingtovisitourcompanythisafternoon?
【B1】【B10】
最新回复
(
0
)