全国计算机等级考试笔试:四级精练(1)
初始化
#include
#include
#define maxnum 200
int xx[maxnum] ;
int totnum = 0 ; /* 文件in.dat中共有多少个正整数 */
int totcnt = 0 ; /* 符合条件的正整数的个数 */
double totpjz = 0.0 ; /* 平均值 */
int readdat(void) ;
void writedat(void) ;
void calvalue(void)
{
}
void main()
{
int i ;
clrscr() ;
for(i = 0 ; i < maxnum ; i++) xx[i] = 0 ;
if(readdat()) {
printf('数据文件in.dat不能打开!\007\n') ;
return ;
}
calvalue() ;
printf('文件in.dat中共有正整数=%d个\n', totnum) ;
printf('符合条件的正整数的个数=%d个\n', totcnt) ;
printf('平均值=%.2lf\n', totpjz) ;
writedat() ;
}
int readdat(void)
{
file *fp ;
int i = 0 ;
if((fp = fopen('in.dat', 'r')) == null) return 1 ;
while(!feof(fp)) {
fscanf(fp, '%d,', &xx[i++]) ;
}
fclose(fp) ;
return 0 ;
}
void writedat(void)
{
file *fp ;
fp = fopen('out1.dat', 'w') ;
fprintf(fp, '%d\n%d\n%.2lf\n', totnum, totcnt, totpjz) ;
fclose(fp) ;
}
a::
b:exec
c:exec sql
d:sql
题面:
已知在文件in.dat中存有若干个(个数<200)四位数字的正整
数, 函数readdat( )是读取这若干个正整数并存入数组xx中。请
编制函数calvalue( ), 其功能要求: 1. 求出这文件中共有多少
个正整数totnum; 2.求出这些数中的各位数字之和是奇数的数的
个数totcnt, 以及满足此条件的这些数的算术平均值totpjz, 最
后调用函数writedat()把所求的结果输出到文件out1.dat中。
注意: 部分源程序存放在prog1.c中。
请勿改动主函数main( )、读数据函数readdat()和输出数据
函数writedat()的内容。