300数位分解按数位筛选《计算机等级考试上机体分类2》.doc

上传人:桔**** 文档编号:544415784 上传时间:2023-11-30 格式:DOC 页数:27 大小:78.51KB
返回 下载 相关 举报
300数位分解按数位筛选《计算机等级考试上机体分类2》.doc_第1页
第1页 / 共27页
300数位分解按数位筛选《计算机等级考试上机体分类2》.doc_第2页
第2页 / 共27页
300数位分解按数位筛选《计算机等级考试上机体分类2》.doc_第3页
第3页 / 共27页
300数位分解按数位筛选《计算机等级考试上机体分类2》.doc_第4页
第4页 / 共27页
300数位分解按数位筛选《计算机等级考试上机体分类2》.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《300数位分解按数位筛选《计算机等级考试上机体分类2》.doc》由会员分享,可在线阅读,更多相关《300数位分解按数位筛选《计算机等级考试上机体分类2》.doc(27页珍藏版)》请在金锄头文库上搜索。

1、300数位分解按数位筛选计算机等级考试上机体分类2.txt丶喜欢的歌,静静的听,喜欢的人,远远的看我笑了当初你不挺傲的吗现在您这是又玩哪出呢?8 请编写函数CountValue(),它的功能是:求n以内(不包括n),同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。主函数最后调用函数progReadWrite()从IN.dat文件中读取10组数据,分别得出结果,且把结果输出到文件OUT.dat中。例如,若n为1000时,函数值应为:s=153.909064。注意:部分程序已经给出。请勿改动主函数main()和输入输出数据函数progReadWrite()的内容。#include

2、#include #include double CountValue(int n)void progReadWrite()FILE *fp, *wf;int i, n;float s;fp = fopen(in.dat, r);if (fp = NULL)printf(数据文件in.dat不存在!);return;wf = fopen(out.dat, w);for (i=0; i10; i+)fscanf(fp, %d, &n);s = (float)countValue(n);fprintf(wf, %fn, s);fclose(fp);fclose(wf);main()printf(1

3、000以内符合条件的自然数之和的平方根=%fn, CountValue(1000);progReadWrite();double countValue(int n)double xy = 0.0;int i;for (i=1; in; i+)if (i%3=0 & i%7=0)xy += i;xy = sqrt(double)xy);return xy;9 已知在文件IN.dat中存有N个(N200)实数,函数RData()读取这N个实数并存入数组original中。请编写函数CalValue(),要求实现的功能有:求出这N个实数的平均值(aver);分别求出这N个实数的整数部分之和(sumi

4、nt)以及小数部分之和(sumdec),最后调用函数WData()把所求的结果输出到文件OUT.dat中。注意:部分源程序已给出。请勿改动主函数main()、读数据函数RData()和输出数据函数WData()的内容。#include #include #define MAXNUM 200float originalMAXNUM;double aver = 0.0;long sumint = 0;double sumdec = 0.0;int RData(void);void WData(void);void CalValue(void)void main()int i;for (i=0; i

5、MAXNUM; i+)originali = 0;if (RData()printf(数据文件IN.dat不能打开!007n);return;CalValue();printf(平均值=%.2lfn, aver);printf(整数部分之和=%ldn, sumint);printf(小数部分之和=%.2lfn, sumdec);WData();int RData(void)FILE *fp;int i = 0;if (fp = fopen(IN.dat, r) = NULL)return 1;while (!feof(fp)fscanf(fp, %f, &originali+);fclose(

6、fp);return 0;void WData(void)FILE *fp;fp = fopen(OUT.dat, w);fprintf(fp, %.2lfn%ldn%.2lfn, aver, sumint, sumdec);fclose(fp);void CalValue(void)int i;double x, sum = 0;for (i=0; iMAXNUM; i+)sumint = sumint+(int)originali;x = originali-(int)originali;sumdec = sumdec+x;sum = sum+originali;aver = sum/MA

7、XNUM;10 已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数primeNum(),其功能是:求出所有这些四位数中素数的个数count,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后调用写函数Wdata(),把结果输出到OUT.dat文件中。例如,5591是素数,则该数满足条件存入数组b中,且个数count=count+1。9812是非素数,则该数不满足条件,不存入数组b中,count值也不加1。注意:部分源程序已经给出。程序中已定义数组a300、b300,已定义变量count。请勿改动

8、主函数main()、读函数Rdata()和写函数Wdata()的内容。#include int a300, b300, count = 0;int isP(int m)int i;for (i=2; im; i+)if (m%i = 0)return 0;return 1;void primeNum()void Rdata()FILE *fp;int i;fp = fopen(in.dat, r);for (i=0; i300; i+)fscanf(fp, %d, &ai);fclose(fp);void Wdata()FILE *fp;int i;fp = fopen(out.dat, w)

9、;fprintf(fp, %dn, count);for (i=0; icount; i+)fprintf(fp, %dn, bi);fclose(fp);main()int i;Rdata();primeNum();Wdata();printf(count=%dn, count);for (i=0; icount; i+)printf(b%d=%dn, i, bi);void primeNum()int j, i, value;for (i=0; i300; i+)if (isP(ai)bcount = ai;count+;for (i=0; icount-1; i+)for (j=i+1;

10、 j bj)value = bi;bi = bj;bj = value;14 请编写函数countValue(),它的功能是:求出11000之内能被7或11整除但不能同时被7或11整除的所有整数,将它们放在数组a中,并通过n返回这些数的个数。主函数最后调用函数Wdata()把计算结果输出到OUT.dat中。注意:部分源程序已经给出。请勿改动主函数main()和输出数据函数Wdata()的内容。#include #include void countValue(int *a, int *n)void Wdata()int aa1000, n, k;FILE *fp;fp = fopen(out.

11、dat, w);countValue(aa, &n);for (k=0; kn; k+)if (k+1)%10 = 0)fprintf(fp, %5dn, aak);elsefprintf(fp, %5d, aak);fprintf(fp, n);fclose(fp);main()int aa1000, n, k;countValue(aa, &n);for (k=0; kn; k+)if (k+1)%10 = 0)printf(%5dn, aak);elseprintf(%5d, aak);Wdata();void countValue(int *a, int *n)int i;*n = 0

12、;for (i=1; i=1000; i+)if (i%7=0 & i%11)*a = i;*n = *n+1;a+;else if (i%7 & i%11=0)*a = i;*n = *n+1;a+;17请补充程序,使得程序能实现以下功能:从文件IN.dat中读取200个整数至数组number中,求出奇数的个数cnt1和偶数的个数cnt2以及数组number下标为偶数的元素值的算术平均值ave(保留2位小数)。把结果cnt1、cnt2、ave输出到OUT.dat中。注意:部分程序、读数据函数read_dat(int number200)及输出格式已给出。#include #include #define N 200void read_dat(int numberN)int i, j;FILE *fp;fp = fopen(IN.dat, r);for (i=0; i20; i+)for (j=0; j10; j+)fscanf(fp, %d, &numberi*10+j);printf(%d , numberi*10+j);printf(n);fclose(fp);void main()int i;int cnt1, cnt2, numberN;long j = 0;float ave;FILE *fw;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号