请补充完整程序,使得程序能实现以下功能:从文件IN.dat中读取200个整数至数组number中,求出最大数max及最大数的个数cnt和数组number中能被3整除或能被7整除的算术平均值ave(保留2位小数)。把结果max、 cnt、ave输出到OUT. dat文件中。注意:部分程序、读数据函数read_ dat (int number[200])及输出格式已给出。include <conio. h>include <stdio. h>define N 200void read_ dat(int num

题目

请补充完整程序,使得程序能实现以下功能:

从文件IN.dat中读取200个整数至数组number中,求出最大数max及最大数的个数cnt和数组number中能被3整除或能被7整除的算术平均值ave(保留2位小数)。把结果max、 cnt、ave输出到OUT. dat文件中。

注意:部分程序、读数据函数read_ dat (int number[200])及输出格式已给出。

include <conio. h>

include <stdio. h>

define N 200

void read_ dat(int number[N])

{ int i, j;

FILE *fp;

fp = fopen("IN. dat", "r");

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

{ for (j=0; j<10; j++)

{ fscanf(fp, "%d,", &number[i*10+j]);

printf("%d ", number[i*10+j]);

}

printf ("\n");

}

fclose (fp);

}

void main ()

{ int cnt, number[N], max;

float ave;

FILE *fw;

int i, k; '

long j = 0;

fw = fopen("OUT.dat", "w");

read_ dat (number);

/ ************************************************ /

/ ************************************************ /

printf("\n\nmax=%d, cnt=%d, ave=%6.2f\n", max, cnt, ave);

fprintf(fw, "%d\n%d\n%6.2f\n", max, cnt, ave);

fclose (fw);

}


相似考题
更多“请补充完整程序,使得程序能实现以下功能: 从文件IN.dat中读取200个整数至数组number中,求出最大 ”相关问题
  • 第1题:

    在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些正整数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些正整数的算术平均值totPjz。最后main函数调用函数WriteDat把所求的结果输出到0ut.dat文件中。 注意:部分源程序存放在test.c文件中。 请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat和输出函数WriteDat的内容。


    正确答案:
    【审题关键句】读取正数,统计个数,各位数字之和为偶数的数的个数及平均值。
    【解题思路】 定义整型循环变量i、j,表示各位数字之和的长整型变量he以及存储一个四位数的字符数组num[5]。
    ②循环变量i从0开始,依次递增到4,对字符数组num[5]的每个元素赋初值0。
    ③循环变量i从0开始,依次递增到MAXNUM.1,对每个数组元素xx[i]进行判断,如果xx[i]的值非零,则变量totNum加1,退出循环时,totNm的值就是文件in.dat中存有的四位正整数的个数。
    ④循环变量i从0开始,依次递增到totNum-1,对于每个数组元素xx[i]调用库函数sprintf以4个字符宽度形式输出到字符数组num中,用字符数组num中的每个元素减去0的ASCII码48,就分别得到XX[i]这个四位数每位上的数字,并把这四个数字相加赋给变量j。再对变量j对2求余数进行判断其值是否等于0,如果等于0,则说明j是偶数,变量totCnt加1,并把xx[i]的值累加到变量he。
    ⑤退出循环后,把变量he的类型转换成双精度型再除以totCnt得到符合条件的数的算术平均值totPjz。
    【参考答案】

  • 第2题:

    在考生文件夹中有一个工程文件execise37.vbp,相应的窗体文件为execise37.frm。在名为Form1的窗体上有一个名称为Cmd1,标题为“输出大于1000的整数之和”的命令按钮。其功能是产生40个0~2000的随机整数,放入一个数组中,然后输出这40个整数中大于1000的所有整数之和。程序运行后,单击命令按钮,即可求出这些整数的和,并在窗体上显示出来,如下图所示。

    本程序不完整,请补充完整,并能正确运行。

    要求:

    去掉程序中的注释符“'”,把程序中的问号“?”改为正确的内容,使其实现上述功能,但不得修改程序的其他部分。最后;按原文件名并在原文件夹中保存修改后的文件。


    正确答案:

  • 第3题:

    编写一个程序实现以下功能: (1)产生5000个1~9999之间的随机整数,将其存入文本文件a.txt中。 (2)从文件中读取这5000个整数,并计算其最大值、最小值和平均值并输出结果。


    product = 1*3*5*...* (N-1)

  • 第4题:

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


    正确答案:
    【审题关键句】求实数的平均值aver;求实数的整数部分之和及小数部分之和。
    【解题思路】
    ①定义整型循环变量i和长整型变量num。
    ②在for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于N时,结束循环。在循环体中,把数组元素 xx[i]的数据类型通过强制数据类型转换成长整型数据所得的整数赋给变量mum,再把mum的值累加到变量sumint,用数组元素xx[i]的值减去num的值就得到xx[i]的小数部分,把这个值累加到变量sumdec。把数组元素xx[i]累加到变量aver。 ⑨退出循环后,用变量aver的值除N就得到了这N个实数的平均值,赋给变量aver。
    【参考答案】

  • 第5题:

    将文件in.dat中的200个整数读至数组XX中。请编制js Vralue函数,要求:求出数组XX中的数值为奇数的个数cnt1和数值为偶数的个数cnt2以及数组xx下标为偶数(包括下标为0的元素)的元素值的算术平均值pj。 结果cnt1,cnt2,pJ输出到out.dat中。注意:部分源程序存在test.c文件中。请勿改动数据文件in.dat中的任何数据、主函数main、读函数readdat和输出函数writeDatj的内容。


    正确答案:
    【审题关键句】读入数值,奇数个数,偶数个数,数组下标为偶数的平均值。
    【解题思路】
    ①首先定义循环变量i,并对全局变量cnt1、cnt2和pj赋初值0。
    ②在for循环语句中,将数组xx中的每个数组元素xx[i]对2求余数,如果余数非零,则说明xx[i]是奇数,奇数的个数变量cntl加1,否则,偶数的计数变量cnt2加1;接着将数组XX下标i对2求余,如果余数等于0,则把xx[i]的值累加到变量pj。
    ③退出循环时,变量pJ的值除以100.0就得到数组xx下标i为偶数的元素值的算术平均值pj(因为数组中共有200令数组,下标为奇偶数的元素各占一半,因此直接将累加变量pJ的值直接除100即可得到这些数的平均值)。
    【参考答案】