[试题]

在文件in.dat中有200个数据。函数ReadDat()读取这200个数据存放到整型数组aa中,请编制函数jsSod(),其函数的功能是:要求在200个数据中找出满足以下条件的三元组(a,b,c),其中a、b、c是所给200个数据中的三个不同的数,且以a、b、c为边长的三边能构成三角形。满足条件三元组的个数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中(要求bb[i].x1<bb[i].x2<bb[i].x3),再对bb中的数据按照每组数据构成三角形的周长进行升序排列,排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。

部分源程序已给出。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

include<stdio.h>

include<string.h>

include<conio.h>

typedef struct{

int x1,x2,x3;

}data;

int aa[200];

data bb[200];

int jsSort()

{

}

void main ()

{

int count;

readDat();

count=jsSort (); /*返回满足条件的个数*/

writeDat(count);

}

readDat(int count)

{

F.ILE *in;

int i;

in=fopen("in.dat","r");

for(i=0; i<200; i++)

fscanf(in,"%d",&aa[i]);

fclose(in);

}

WriteDat(int count)

{

F.ILE *out;

int i;

clrscr();

ut=fopen("out.dat","w");

for(i=0; i<count; i++){

fprintf(out,"%d,%d,%d/n",bb[i].x1,bb[i].x2,bb[i].x3);

}

fclose(out);

}

参考答案与解析:

相关试题

已知在文件in.dat中存有N个实数(N<200),函数ReadDat是读取这N

[主观题]已知在文件in.dat中存有N个实数(N<200),函数ReadDat是读取这N个实数并存入数组xx中。请编制函数CalValue,其功能要求:1.求出这N个实数的平均值aver;2.分别求出这N个实数的整数部分值之和sumint以及小数部分值之和sumdec,最后调用函数WriteDat把所求的结果输出到文件out.dat中。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

  • 查看答案
  • 在数据文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数re

    [主观题]在数据文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数readDat是读取这200组数据存放到结构数组aa中。请编制函数isSort,其函数的功能是:要求在200组数据中找出第一个数大于第二个数与第三个数之和的数,其中满足条件的个数作为函数jsSort的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第一个数与第三个数之和的大小进行升序排列(第一个数与第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat把结

  • 查看答案
  • 已知在文件in.dat中存有200组数据,每组有3个数,每个数均是三位数。函数r

    [试题]已知在文件in.dat中存有200组数据,每组有3个数,每个数均是三位数。函数readDat是读取这200组数据存放到结构数组aa中。请编制函数jsSort,其函数的功能是:要求在200组数据中找出第二个数大于第一个数加第三个数之和的数,其中满足条件的个数作为函数jsSort的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组 bb中,最后调用函数writeDat把结

  • 查看答案
  • 已知数据文件in.dat中存有200个四位数,并已调用读函数readDat0把这

    [主观题]已知数据文件in.dat中存有200个四位数,并已调用读函数readDat0把这些数存入数组a中,请考生编制一函数jsVal,其功能是:依次从数组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数 writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。 注意:部分源程序存在test.C文件中。 程序中已定义数组:a[20

  • 查看答案
  • 已知数据文件IN.dat中存有200个四位数,并已调用读函数readDat()把

    [主观题]已知数据文件IN.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组 a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数均是偶数并且两个二位数中至少有一个数能被9整除,同时两个新数的十位数字均不为0,

  • 查看答案
  • 函数readDat是从文件in.dat中读取20行数据存放到字符串数组xx中(每

    [试题]函数readDat是从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat把结果xx输出到文件out.dat中。 条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。注意:部分源程序存在tes

  • 查看答案
  • 已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些

    [主观题]已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:若一个四位数的千位数位置上的值小于等于百位数位置上的值,百位数位置上的值小于等于十位数位置上的值,以及十位数位置上的值小于等于个位数位置上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到文件0ut.dat中。

  • 查看答案
  • 己知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些

    [主观题]己知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:如果四位数各位上的数字均为0或2或4或6或8中的一个数字,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。 注意:部分源程序存在test.c文件中。 程序中已定义数组:a[200],b[200],已定义变量:cnt 请勿改动数据

  • 查看答案
  • 函数ReadDat实现从文件in.dat中读取1 000个十进制整数到数组XX中

    [主观题]函数ReadDat实现从文件in.dat中读取1 000个十进制整数到数组XX中,请编制函数Compute分别计算出XX中数值为偶数的个数even,所有数值为奇数的平均值ave1,偶数的平均值ave2以及所有偶数的方差totfc的值,最后调用函数 WriteDat把结果输出到0ut.dat文件中。 计算方差的公式如下:设N为偶数的个数,xx[i]为偶数,ave2为偶数的平均值。 原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)注意:部分源程序存放在t

  • 查看答案
  • 已知数据文件IN69.DAT中存有200个4位数,并已调用读函数readDat(

    [试题]已知数据文件IN69.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:把一个4位数的千位数上的值减百位数上的值再减十位数上的值最后减个位数上的值,如果得出的值大于等于零且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用函数writeDat()把结果cnt及数组b中的符合条件的4位数输出到out69.dat文件中。注意:部分源程序已给出。程序中己

  • 查看答案