搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友jiaoer234 发布时间:2022-01-06
[主观题]

已知数据文件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\n", cnt); for (i=0; i<cnt; i++) fprintf(fp, "%d\n", b[i]); fclose(fp);}main(){ int i; ReadDat(); jsValue(); writeDat(); printf("cnt=%d\n", cnt); for (i=0; i<cnt; i++) printf("b[%d]=%d\n", i, b[i]);}

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT() 把这些数存入数组a中。请编制函数”相关的问题
第1题
已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一数jsV
alue,其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。最后main函数调用写函数writeDat把数组 b中的数输出到文件0ut.dat。已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编

点击查看答案
第2题
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数Num

已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:求出千位上的数加个位上的数等于百位上的数加十位上的数的四位数的个数count,再求出所有满足此条件的四位数的平均值Ave1,以及不满足此条件的四位数的平均值Ave2。最后调用写函数Wdata(),把结果输出到OUT.dat文件中。

例如:6712,6+2=7+1,则该数满足条件,计算平均值Ave1,且个数count=count+1。8129, 8+9!=1+2,则该数不满足条件,计算平均值Ave2。

注意:部分源程序已经给出。程序中已定义数组a[300],已定义变量count、Ave1、Ave2。请勿改动主函数main()、读函数Rdata()和写函数Wdata()的内容。

include <stdio. h>

int a[300], count = 0;

double Ave1 = 0.0, Ave2 = 0.0;

void NumCal ()

{

}

void Rdata()

{ FILE *fp;

int i;

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

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

fscanf(fp, "%d,", &a[i];

fclose (fp);

}

void Wdata ()

{ FILE *fp;

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

fprintf(fp, "%d\n%7.2f\n%7.2f\n", count, Ave1, Ave2);

fclose (fp);

}

main ()

{ Rdata ();

NumCal ();

Wdata ();

printf ("count=%d\n 满足条件的平均值 Ave1=%7.2f\n 不满足条件的平均值Ave2=%7.2f\n", count, Ave1, Ave2);

}

点击查看答案
第3题
已知数据文件IN.DAT中存有300个五位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函

已知数据文件IN.DAT中存有300个五位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出满足以下条件的数的个数cnt、所有满足此条件的数的平均值pjz1,以及不满足此条件的数的平均值pjz2,最后调用写函数把结果输出到 out.dat文件。

条件:将五位数的万位、百位、个位数字重组成一个三位数a,将五位数的千位、十位数字重组成一个两位数b,前一个数a能被后一个数b整除。

例如:24360满足条件(230能被46整除);38129不满足条件(319不能被82整除)。

部分源程序已给出。

程序中已定义数组:a[300],已定义变量:cnt、pjz1、pjz1。

请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。

include <stdio.h>

int a[300],cnt=0;

double pjzl-0.0,pjz2=0.0;

jsValue()

{

}

main()

{

int i;

readDat();

jsValue();

writeDat();

printf ("cnt=%d\n 满足条件的平均值 pzj1=%7.21 f\n不满足条件的平均值

pjz2=%7.21f\n" ,cnt,pjz1,pjz2);

}

readDat ()

{

FILE *fp;

int i;

fp=fopen(" in.dar" ," r");

for(i=0,i<300;i++) fscanf(fp,"%d" ,&a[i]);

fclose(fp);

{

writeDat()

{

FILE *fp;

int i;

fp=fopen(" out.dar" ," w" );

fprintf(fp," %d\n%7.21f\n%7.21f\n" ,cnt,pjz1,pjz2);

fclose(fp);

}

点击查看答案
第4题
已知数据文件in33.dat中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函

已知数据文件in33.dat中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于0的个数cnt,再求出所有满足此条件的4位数平均值pjz1,以及所有不满足此条件的4位数平均值pjz2,最后调用函数writeDat()把结果cnt,pjz1,pjz2输出到out33.dat文件。

例如:1239,9-1-2-3>0,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。

8129,9-8-1-2<0,则该数不满足条件,计算平均值pjz2。

注意:部分源程序已给出。

程序中已定义数组:a[300],b[300],已定义变量:cnt,pjz1,pjz2。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

点击查看答案
第5题
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数Num

已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数count并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数Wdata(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。

注意:部分源程序已经给出。程序中已定义数组a[200] b[200],已定义变量count。请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数Rdata()和写函数Wdata()的内容。

include <stdio.h>

define MAX 200

int a[MAX], b[MAX], count = 0;

void NumCal ()

{

}

void Rdata ()

{ int i;

FILE *fp;

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

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

fscanf(fp, "%d,", &a[i]);

fclose (fp);

}

void Wdata ()

{ FILE *fp;

int i;

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

fprintf(fp, "%d\n", count);

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

fprintf(fp, "%d\n", b[i]);

fclose (fp);

}

void main ()

{ int i;

Rdata ();

NumCal ();

printf("满足条件的数=%d\n", count);

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

printf("%d ", b[i]);

printf ("\n");

Wdata ();

}

点击查看答案
第6题
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数dif

已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffCal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值,再减去百位数字上的值,最后减去十位数字上的值,如果得出的值大于等于0且原四位数是偶数,则统计出满足此条件的数的个数count,并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数Wdata(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。

注意:部分源程序已经给出。程序中已定义数组a[200]、b[200],已定义变量count。请勿改动数据文件IN.dat中的任何数据、主函数main()、读函数Rdata()和写函数Wdata()的内容。

include <stdio.h>

define MAX 200

int a[MAX], b[MAX], count = 0;

void diffCal()

{

}

void Rdata ()

{ int i;

FILE *fp;

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

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

fscanf(fp, "%d,", &a[i]);

fclose (fp);

}

void Wdata ()

{ FILE *fp;

int i;

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

fprintf(fp, "%d\n", count);

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

fprintf(fp, "%d\n", b[i]);

fclose (fp);

}

void main ()

{ int i;

Rdata ();

diffCal();

printf("满足条件的数=%d\n", count);

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

printf("%d ", b[i]);

printf ("\n");

Wdata ();

}

点击查看答案
第7题
已知数据文件IN.dat中存有200个四位数,并己调用读函数rData()把这些数存入数组a中,请编写函数spe

已知数据文件IN.dat中存有200个四位数,并己调用读函数rData()把这些数存入数组a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数一个是奇数,另一个为偶数,并且两个二位数中至少有一个数能被17整除,同时两个新数的十位数字均不为 0,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数count。最后main()函数调用写函数wData(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。

注意:部分源程序已经给出。程序中已定义数组a[200]、b[200],己定义变量count。请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数rData()和写函数wData()的内容。

include <stdio. h>

define MAX 200

int a[MAX], b[MAX], count = 0;

void spellNum ()

{

}

void rData()

{ int i;

FILE *fp;

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

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

fscanf(fp, "%d,", &a[i]);

fclose (fp);

}

void wData ()

{ FILE *fp;

int i;

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

fprintf(fp, "%d\n", count);

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

fprintf(fp, "%d\n", b[i]);

fclose (fp);

}

void main ()

{ int i;

rData ();

spellNum ();

printf ("满足条件的数=%d\n", count);

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

printf("%d ", b[i]);

printf ("\n");

wData ();

}

点击查看答案
第8题
已知数据文件IN44.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函

已知数据文件IN44.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数isValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT44.DAT文件中。

例如:9123,9-1-2-3>0,则该数满足条件,存入数组b中,且个数cnt=cnt+1。

9812,9-8-1-2<0,则该数不满足条件,忽略。

注意:部分源程序已给出。

程序中已定义数组:a[300],b[300],己定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

试题程序:

include<stdio.h>

int a[300],b[300],cnt=0;

jsValue()

{

}

main ()

{

iht i;

readDat();

jsValue();

writeDat();

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

printf("b[%d]=%d\n",i,b[i]);

}

readDat()

{

FILE *fp;

int i;

fp=fopen("IN44.DAT","r");

printf ("cnt=%d\n", cnt);

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

fscanf (fp, "%d, ", &a [i] );

fclose (fp);

}

writeDat ()

{

FILE *fp;

int i;

fp=fopen ("OUT44. DAT" , "w" );

fprintf (fp, "%al\n", cnt);

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

fprintf(fp, "%d\n",b[i]);

fclose (fp);

}

点击查看答案
第9题
已知数据文件IN82.DAT中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函数

已知数据文件IN82.DAT中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函数isValue(),其功能是:求出这些4位数是素数的个数cnt,再求出所有满足此条件的4位数的平均值pjz1,以及所有不满足此条件的4位数的平均值pjz2,最后调用函数writeDat()把结果cnt,pjz1,pjz2,输出到out82.dat文件中。

例如:5591是素数,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。

9812是非素数,则该数不满足条件,计算平均值pjz2。

注意:部分源程序已给出。

程序中已定义数组:a[300],b[300],已定义变量:cnt,pjz1,pjz2。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

试题程序:

include<stdio. h>

int a[300], cnt=0;

double pjz1=0.0, pjz2=0.0;

int isP(int m)

{

int i;

for (i=2; i<m; i++)

if(m%i==0) return 0;

return 1;

void jsValue()

{

main ()

int i;

readDat ();

jsValue();

writeDat ();

printf ("cnt=%d\n满足条件的平均值pjz1=%7.21f\n不满足条件的平均值

pjz2=%7.21f\n", cnt, pjz1, pjz2);

}

readDat ()

{

FILE *fp;

int i;

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

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

fscanf (fp, "%d, ", &a [i]);

fclose (fp);

}

writeDat ()

{

FILE *fp;

int i;

fp=fopen("out82.dat","w");

fprintf(fp,"%d\n%7.21f\n%7.21f\n",cnt,pjz1,pjz2);

fclose(fp);

}

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP