题目内容 (请给出正确答案)
[主观题]

请补充完整程序,使得程序能实现以下功能:从文件IN.dat...

请补充完整程序,使得程序能实现以下功能:

从文件IN.dat中读取200个整数至数组number中,求出最大数max及最大数的个数cnt和数组number中能被3整除或能被7整除的算术平均值ave(保留2位小数)。把结果max、 cnt、ave输出到OUT. dat文件中。

注意:部分程序、读数据函数read_ dat (int number[200])及输出格式已给出。

include <conio. h>

include <stdio. h>

define N 200

void read_ dat(int number[N])

{ int i, j;

FILE *fp;

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

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

{ for (j=0; j<10; j++)

{ fscanf(fp, "%d,", &number[i*10+j]);

printf("%d ", number[i*10+j]);

}

printf ("\n");

}

fclose (fp);

}

void main ()

{ int cnt, number[N], max;

float ave;

FILE *fw;

int i, k; '

long j = 0;

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

read_ dat (number);

/ ************************************************ /

/ ************************************************ /

printf("\n\nmax=%d, cnt=%d, ave=%6.2f\n", max, cnt, ave);

fprintf(fw, "%d\n%d\n%6.2f\n", max, cnt, ave);

fclose (fw);

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“请补充完整程序,使得程序能实现以下功能:从文件IN.dat.…”相关的问题

第1题

函数ReadDat()的功能是实现从文件IN73.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CovertCharD(),该函数的功能是:以行为单位把字符串中的所有小写字母改成该字母的上一个字母,如果是字母a,则改成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数 WriteDat()把结果xx输出到文件OUT73.DAT中。

例如:原文Adb Bcdza

abck LLhj

结果Aca Bbcyz,

zabj LLgi

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

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

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

试题程序:

include<stdio. h>

include<string. h>

include<conio. h>

char xx[50] [80];

int maxline=0;

int ReadDat (void);

void WriteDat (void);

void CovertCharD ( )

{

}

void main ( )

{

clrscr ( );

if (ReadDat ( ) )

{

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

return;

}

CovertCharD ( );

WriteDat ();

}

int ReadDat ()

{

FILE *fp;

int i=0;

char *p;

if ( ( fp= fopen ( "IN73. DAT", "r" ) ) = =NULL) return

while (fgets (xx [i], 80, fp) !=NULL)

{

p=strchr (xx [i] , '\n' );

if(p)

*p=0;

i++;

}

maxline=i;

fclose (fp);

return 0;

}

void WriteDat (void)

{

FILE *fp;

int i;

clrscr ( );

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

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

{

printf ( "%s\n" ,xx [i] );

fprintf (fp, "%s\n" ,xx[i] );

}

fclose (fp);

}

点击查看答案

第2题

函数ReadDat()的功能是实现从文件IN8.DAT中读取一篇英文文章存入到字符串数组xx中:请编制函数StrCharJP(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串对应的位置上。最后把已处理的字符串按行重新存入字符串数组xx中,并调用函数WriteDat()把结果xx输出到文件OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

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

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

试题程序:

include<stdio.h>

include<String.h>

include<conio.h>

char xx [50] [80];

int maxline=0;/* 文章的总行数 */

int ReadDat(void);

void WriteDat(void);

void StrCharJR(void)

{

}

main()

{

Clrscr();

if(ReadDat())

{

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

return;

}

StrCharJR();

WriteDat ( );

}

int ReadDat (void)

{

FILE *fp;

int i= 0;

char *p ;

if ( (fp = fopen("IN8.DAT", "r") ) = =NULL) return 1;

while(fgets(xx[i] , 80, fp) !-NULL)

{

p = strchr(xx[i], '\n') ;

if (p) *p = 0;

i++;

}

maxline = i;

fclose (fp);

return 0;

}

void WriteDat (void)

{

FILE *fp;

int i;

clrscr ();

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

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

{

printf("%s\n", xx[i] );

fprintf(fp, "%s\n", xx[i] );

}

fclose(fp);

}

点击查看答案

第3题

阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。

【说明】

该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。

例如:原文:You He Me

I am a student.

结果:Me He You

student a am I

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

【函数】

include<string.h>

include<conio.h>

include<ctype.h>

include<stdio.h>

char xx[50] [80];

int maxline=0; /*文章的总行数*/

int ReaaDat(void);

void WriteDat(void);

void StrOL(void)

{

char * p1, * p2,t[80];

int i;

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

{ p1=xx[i];t[0]=0;

while(*p1)p1++;

while(p1>=xx[i])

{ while(!isalpha(*p1) &&p1!=xx[i])p1--;

p2=p1;

while((1))p1--;

if(p1==xx[i])

if(isalpha(*p1))p1--;

else if(!isalpha(*(p1+1)))break;

p2++;

(2);

strcat(t, p1+1);

strcat(t," ");

}

strcpy(xx[i],t);

}

}

void main( )

{

if((3)) {

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

return;

}

StroL();

writeDat();

getch();

} int ReadDat(void)

{

FILE * fp;

int i =0;

char * p;

if((fp=fopen("e:\a\in.dat"," r" ))==NULL)return 1;

while(fgets(xx[i],80,fp)!=NULL) {

p=strchr(xx[i],'\n')

if(p)*p=0;

i++;

}

maxline=(4)

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE * fp;

int i;

fp=fopen("e:\\a\\out6,dat","w");

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

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i])

}

fclose(fp)

}

点击查看答案

第4题

函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数SortCharD,其函数的功能是:以行为单位对字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组XX中。最后main函数调用函数WriteDat把结果XX输出到文件out.dat中。 例:原文:dAe,BfC. CCbbAA结果:fedCBA.,bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.C文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。

点击查看答案

第5题

函数ReadDat实现从文件in.dat中读取一篇英文文章存入到无符号字符串数组xx中,请编制函数StrCharJL,其函数的功能是:以行为单位把字符串中的所有字符的ASCII值左移4位二进制位,低位补0,如果左移后,其值小于等于32或大于l00,则原字符保持不变,留在原字符串对应的位置上,否则就把左移后的值再加上原字符的ASCII值,得到新的值仍存入原字符串对应的位置上,之后把已处理的字符串仍按行重新存入无符号字符串数组xx中。最后main函数调用函数 WriteDat把结果xx输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

点击查看答案

第6题

函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数CharConvA,其函数的功能是:以该文章中的行为单位把字符串中的最后一个字符的ASCII值右移4位二进制位,高位补0后加倒数第二个字符的 ASCII值,得到最后一个新的值,倒数第二个字符的ASCII值右移4位二进制位,高位补0后加倒数第三个字符的ASCII值,得到倒数第二个新的值,以此类推一直处理到第二个字符。注意:第一个新的值与上述处理不同,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的值。得到的新值分别存放在原字符串对应的位置上,之后把已处理的结果仍按行重新存入数组中XX最后Xmain函数调用函数WriteDat把结果XX输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按字符处理。 注意:部分源程序存放在test.g文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。

点击查看答案

第7题

请编制函数ReadDat()实现从文件IN83.DAT中读取1000个十进制整数到数组xx中。请编制函数 Compute()分别计算出xx中奇数的个数odd、奇数的平均值ave1、偶数的平均值ave2及所有奇数的方差toffc的值。最后调用函数WriteDat()把结果输出到OUT83.DAT文件中。

计算方差的公式如下:

设N为奇数的个数,xx[i]为奇数,ave1为奇数的平均值。

原始数据的存放格式是:每行存放10个数,并用逗号隔开(每个数均大于0且小于等于2000)。

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

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

试题程序:

include<stdio.h>

include<stdlib.h>

include<string.h>

define MAX 1000

int xx[MAX],odd=0,even=0;

double avel=0.0,ave2=0.0,totfc=0.0;

void WriteDat(void);

int ReadDat(void)

{

FILE *fp;

if((fp=fopen("IN83.DAT","r"))==NULL) return 1;

fclose(fp);

return0;

}

void Compute(void)

{

}

void main( )

{

int i;

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

xx[i]=0;

if(ReadDat())

{

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

return;

}

Compute();

printf( "ODD=%d\nAVEl=%f\nAVE2=%f\nTOTFC=%f\n",odd, avel,ave2,totfc);

WriteDat();

}

void WriteDat(void)

{

FILE *fp;

int i;

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

fprintf(fp,"%d\n%lf\n%lf\n%lf\n",odd, ave1,ave2,totfc);

fclose(fp);

}

点击查看答案

第8题

函数ReadDat()实现从文件IN47.DAT中读取1000个十进制整数到数组xx中。请编制函数Compute()分别计算出xx中偶数的个数even、奇数的平均值avel、偶数的平均值ave2及所有偶数的方差toffc的值,最后调用函数WriteDat()把结果输出到 OUT47.DAT文件中。

计算方差的公式如下:

设N为偶数的个数,xx[i]为偶数,ave2为偶数的平均值。

原始数据的存放格式是:每行存放10个数,并用逗号隔开(每个数均大于0且小于等于2000)。

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

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

试题程序:

include<stdio.h>

include<stdlib.h>

include<string.h>

define MAX 1000

int xx[MAX],odd=0,even=0;

double avel=0.0,ave2=0.0,totfc=0,0

void WriteDat(void);

int ReadDat(void)

{

FILE *fp;

int i,j;

if((fp=fopen("IN47.DAT","r"))==NULL)

return 1;

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

{

for(j=0;j<10;j++)

fscanf(fp,"%d,",&xx[i*10+j]);

fscanf(fp,"/n");

if(feof(fp)) break;

}

fclose(fp);

}

viod Compute(void)

{

}

void main( )

{

int i;

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

xx[i]=0;

if(ReadDat())

{

print f ( "数据文件IN47.DAT 不能打形式!\007\n");

return;

}

Compute();

printf( "EVEN=%d\nAVE1=%f\nAVE2=%f\nTOTFC=%f\n",even,avel,ave2,totfc);

WriteDat();

}

void WriteDat(void)

{

FILE *fp;

int i;

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

fprintf(fp,"%d\n%lf\n%lf\n%lf\n",even,ave1,ave2,totfc);

fclose(fp);

}

点击查看答案

第9题

函数ReadDat()的功能是实现从文件ENG49.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS49.DAT中。

替代关系;f(p)=p*11 mod 256 (p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)的值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

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

原始数据文件的存放格式是:每行的宽度均小于80个字符。

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

试题程序:

include<conio.h>

include<stdio.h>

include<string.h>

include<ctype.h>

unsigned char xx[50] [80];

int maxline=0;

int ReadDat(void);

void writeDat(void);

void encryChar()

{

}

void main()

{

clrscr();

if(ReadDat())

{

print f ( "数据文件ENG49.IN 不能打开! \n\007" );

return;

}

encryChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fP;

int i=0;

unsigned char *p;

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

return 1;

while(fgets(xx[i],80,fp)!=NULL)

{

p=strchr(xx[i],'\n');

if(p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat()

{

FILE *fp;

int i;

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

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

{

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

点击查看答案

第10题

函数ReadDat()的功能是实现从文件ENG95.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS95.DAT中。

替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCCII,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。

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

原始数据文件的存放格式是每行的宽度均小于80个字符。

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

试题程序:

include<conio.h>

include<stdio.h>

include<string.h>

include<ctype.h>

unsigned char xx[50][80];

int maxline=0;

int ReadDat(void);

void WriteDat(void);

void encryChar()

{

}

void main()

{

clrscr();

if(ReadDat())

{

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

return;

}

encryChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

unsigned char *p;

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

return 1;

while(fgets(xx[i],80,fp)!=NULL)

{

p=strchr(xx[i],'\n');

if(p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat()

{

FILE *fp;

int i;

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

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

{

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

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

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信