当前位置: 答题翼 > 问答 > 计算机类考试 > 正文
目录: 标题| 题干| 答案| 搜索| 相关
问题

已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT() 把这些数存入数组a中。请编制函数


已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT() 把这些数存入数组a中。请编制函数Svalue(),其功能是:求出这些四位数中素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后将数组b中的四位数按从小到大的顺序排序,最后调用写函数writeDat(),把结果输出到文件OUT.DAT中。例如:5591是素数,则满足条件,存入数组b中,且个数cnt=cnt+1;9812是非素数,则不满足条件,忽略。部分源程序已给出。程序中已定义数组a[300]、b[300],已定义变量cnt。请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。#include <stdio.h>int a[300], b[300], cnt = 0;int isP(int m){ int i; for (i=2; i<m; i++) if (m%i == 0) return 0; return 1;}void jsValue(){ }void ReadDat(){ FILE *fp; int i; fp = fopen("in.dat", "r"); for (i=0; i<300; i++) fscanf(fp, "%d,", &a[i]); fclose(fp);}void writeDat(){ FILE *fp; int i; fp = fopen("out.dat", "w"); fprintf(fp, "%d ", cnt); for (i=0; i<cnt; i++) fprintf(fp, "%d ", b[i]); fclose(fp);}main(){ int i; ReadDat(); jsValue(); writeDat(); printf("cnt=%d ", cnt); for (i=0; i<cnt; i++) printf("b[%d]=%d ", i, b[i]);}

参考答案
您可能感兴趣的试题
  • 从0、1、4、7、9中选4个数字组成若干个四位数,把其中能被3整除的四位数从小到大排列起来,那

  • 从0、1、4、7、9中选4个数字组成若干个四位数,把其中能被3整除的四位数从小到大排列起来,那

  • 173口是个四位数,小明在这个口中先后填人3个数字,所得到的3个四位数,依次可被9、11、6整

  • 173口是个四位数,小明在这个口中先后填人3个数字,所得到的3个四位数,依次可被9、11、6整除。问:小明

  • 173口是个四位数,小明在这个口中先后填入3个数字,所得到的3个四位数,依次可被9、11、6整除。问:小明

  • 173口是个四位数,小明在这个口中先后填入3个数字,所得到的3个四位数,依次可被9、11、6整除。问:小明