重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
当前位置: 首页 > 计算机类考试 > 计算机三级
网友您好, 请在下方输入框内输入要搜索的题目:
搜题

题目

[主观题]

已知在文件in.dat中存有N个实数(N<200),函数ReadDat是读取这N个实数并存入数组xx中。请编制函

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

查看参考答案
更多“已知在文件in.dat中存有N个实数(N<200),函数ReadDat是读取这N个实数并存入数组xx中。请编制函”相关的问题

第1题

已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序

已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序CalValue(),其功能要求:

(1)求出这N个实数的平均值aver。

(2)分别求出这N个实数的整数部分值之和sumint及其小数部分之和sumdec,最后调用函数WriteDat()把所求的结果输出到文件OUT42.DAT中。

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

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

试题程序:

include<stdio.h>

include<conio.h>

define MAXNUM 200

float xx[MAXNUM];

int N=0;

double aver=0.0;

double sumint=0.0;

double sumdec=0.0;

int ReadDat();

void WriteDat();

void CalValue

{

}

void main()

{

clrscr();

if(ReadDat())

{

printf ("数据文件IN42.DAT不能打开! \007\n");

return;

}

CalValue ();

printf ("文件IN42.DAT中共有实数%d个\n", N);

printf ("平均值=%.21f\n", aver);

printf ("整数部分=%.21f\n", sumint);

printf ("小数部分之和=%.21f\n", sumdec);

WriteDat();

}

int ReadDat()

{

FILE *fp;

int j;

if((fp=fopen("in42.dat","r"))==NULL)

return 1;

while(!feof(fp))

{

fscanf (fp, "%f", &xx [N] );

if (xx[N] >0.001) N++;

}

fclose(fp);

return 0;

}

void WriteDat()

{

FILE *fp;

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

fprintf(fP,"%d\n%.21f\n%.21f\n%.21f\n",N,aver,sumint,sumdec);

fclose(fp);

}

点击查看答案

第2题

已知在文件IN.dat中存有若干个(少于200个)四位数字的正整数,函数ReadDat()读取这若干个正整数并

已知在文件IN.dat中存有若干个(少于200个)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组number中。请编写函数CalValue(),其功能要求是:①求出文件中共有的正整数个数totNum;②求这些数右移1位后,产生的新数是奇数的数的个数totCnt以及满足此条件的这些数(右移前的值)的算术平均值totAve。最后调用函数writeDat()把所求的结果输出到OUT.dat文件中。

注意:部分源程序已经给出。请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。

include <stdio.h>

include <conio. h>

define MAXNUM 200

int number [MAXNUM];

int totNum = 0; /* 文件IN.dst 中共有的正整数个数*/

int totCnt = 0; /* 符合条件的正整数的个数*/

double totAve = 0.0; /* 平均值 */

int ReadDat (void);

void writeDat(void);

void CalValue(void)

{

}

void main ()

{ int i;

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

number [i] = 0;

if (ReadDat())

{ printf (" 数据文件 IN.dst 不能打开! \007\n");

return;

}

CalValue ();

printf(" 文件 IN.dst 中共有的正整数个数=%d个\n", totNum);

printf (" 符合条件的正整数的个数 =%d个\n", totCnt);

printf("平均值=%.2f\n", totAve);

writeDat ();

}

int ReadDat (void)

{ FILE *fp;

int i = 0;

if ((fp = fopen("IN.dat", "r")) == NULL)

return 1;

while (!feof(fp))

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

fclose (fp);

return 0;

}

void writeDat (void)

{ FILE *fp;

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

fprintf(fp, "%d\n%d\n%6.2f\n", totNum, totCnt, totAve);

fclose (fp);

}

点击查看答案

第3题

已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组

已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少一个完全平方数(某个整数的平方)的个数totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数writedat()把所求的结果输出到文件out.dat中。

部分源程序已给出。

请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。

include<stdio.h>

include<conio.h>

define MAXNUM 200

int xx[MAXNUM];

iht totnum=0;

iht totcnt=0;

double totpjz=0.0;

int readdat(void);

void writedat(void);

void calvalue(void)

{

}

void main ()

{

int i;

clrscr ();

for (i=0; i if (readdat ())

{

printf("Can't open the data file in.dat!\007\n");

return;

}

calvalue ();

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

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

printf ("totpj z=%. 21f\n", totpj z);

writedat ();

}

int readdat (void)

{

FILE *fp;

int i=0;

if((fp=fopen ("in.dar", "r") )==NULL) return 1;

while (! feof (fp))

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

fclose (fp);

return 0;

}

void writedat (void)

{

FILE *fp;

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

fprint f (fp, "%d\n%d\n%. 21 f\n", totnum, totcnt, totpjz);

fclose (fp);

}

点击查看答案

第4题

已知在in.dat中存有若干个(个数<200)四位十进制数字组成的正整数,函数ReadDat读取这若干个正

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

点击查看答案

第5题

已知在in.dat中存有若干个(个数<200)1四位十进制数字组成的正整数,函数ReadDat读取这若干个正

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

点击查看答案

第6题

已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入

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

点击查看答案

第7题

已知在文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me

已知在文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中。最后mainoi函数调用函数WriteDat把结果输出到文件out.dat中。 提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解题:产品名称比较请用函数strcrnp进行解题。例如:sell[i]=temp; 注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。已知在文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品已知在文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品

点击查看答案

第8题

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

已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat() 把这些数存入数组a中。请编制函数jsValue(),其功能是:求出符合“千位上的数加个位上的数等于百位上的数加十位上的数”这一条件的四位数的个数cnt,再求出所有满足此条件的四位数的平均值pjz1以及不满足此条件的四位数的平均值pjz2,最后调用写函数把结果输出到文件OUT.DAT中。例如:6712,6+2=7+1,则该四位数满足条件,计算平均值pjz1,且个数cnt=cnt+1;8129,8+9¹1+2,则该四位数不满足条件,计算平均值pjz2。部分源程序已给出。程序中已定义数组a[300],已定义变量cnt、pjz1、pjz2。请勿改动主函数main()、读函数ReadDat() 和写函数writeDat() 的内容。 #include <stdio.h>int a[300],cnt=0;double pjz1=0.0,pjz2=0.0; void jsValue(){ } void main(){ int i; readDat(); jsValue(); writeDat(); printf("cnt=%d\n满足条件的平均值pzj1=%7.21f\n不满足条件的平均值pjz2= %7.21f\n" , cnt, pjz1,pjz2);} 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%7.21f\n%7.21f\n" ,cnt,pjz1,pjz2); fclose(fp);}

点击查看答案

第9题

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc (字符型10位)、单价dj(整型)、数量s1(整型)、金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WritcDat()把结果输出到文件OUT8.DAT中。

部分源程序已给出。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

include<stdio.h>

include<mem.h>

include<string.h>

include<conio.h>

$include<stdlib.h>

$define MAX 100

typedef struct{

char dm[5]; /*产品代码*/

char mc[ll]; /*产品名称*/

iht dj; /*单价*/

int sl; /*数量*/

long je; /*金额*/

}PRO;

PRO sell[MAX];

void ReadDat();

void WriteDat();

void SortDat ()

{

void main ()

{

memset(sell,0,sizeof(sell));

ReadDat();

SortDat();

WriteDat();

}

void ReadDat()

{

FILE *fp;

char str[80],ch[ll];

int i;

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

for(i=0;i<100;i++){

fgets(str, 80,fp);

memcpy(setl[i].dm, str, 4);

memcpy(sell[i].mc, str+4,10);

memcpy(ch, str+14,4);ch[4]=0;

sell[i].dj=atoi(ch);

memcpy(ch, str+lS,5);ch[5]=0;

sell[i].sl=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].s1;

}

fclose(fp);

}

void WriteDat(void)

{

FILE *fp;

int i;

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

for(i=0;i<100;i++){

fprintf(fp,"%s%s%4d %5d %10Ld\n", sell[i].dm, sell[i].mc,sell[i].dj,

sell[i].sl,sell[i].je);

}

fclose(fp);

}

点击查看答案

第10题

已知数据文件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 ();

}

点击查看答案
赏学吧APP
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

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

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

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

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

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

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

- 微信扫码关注赏学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注赏学吧 -
请用微信扫码测试
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
赏学吧