更多"请编制程序,要求:将文件IN92.DAT中的200个整数读入数组xx中"的相关试题:
[多项选择]请编制程序,要求:将文件IN92.DAT中的200个整数读入数组xx中,求出数组xx中最大数max及最大数的个数cnt和数组xx中值能被3整除或能被7整除的数的算术平均值pj(保留两位小数),结果max,cnt,pj输出到out92.dat中。
部分程序、读函数read_dat(int xx[200])及输出格式已给出。
试题程序:
#include<conio.h>
#include<stdio.h>
#define N 200
void read_dat(int xx[N])
int i,j;
FILE *fp;
fp=fopen("IN92.DAT","r");
for(i=0;i<20;i++)
for(j=0;j<10;j++>
fscanf(fp,"%d,",&xx[i*10+j]);
printf ("%d", xx [i*10+j]);
printf ("/n");
fclose (fp);
void main( )
int i, k, cnt, xx [N],max;
float pj;
FILE *fw;
long j=0;
clrscr ( );
fw=fopen ("out92.dat", "w");
read_dat (xx);
printf ("/n/nmax=%d, cnt=%d, pj=%6.2f/n", max, cnt,pj);
fprintf(fw, "%d/n%d/n%6.2f/n",max, cnt,pj);
fclose (fw);
[简答题]请编制程序,要求:将文件IN94.DAT中的200个整数读入数组xx中,求出数组xx中奇数的个数cnt1和偶数的个数cnt2,以及数组xx下标为奇数的元素值的算术平均值pj(保留两位小数),结果cnt1,cnt2,pj输出到OUT94.DAT中。
部分程序、读函数read_dat(int xx[200))及输出格式已给出。
试题程序:
#include<conio:h>
#include<stdio.h>
#define N 200 void read_dar (int xx [N] )
int i,j;
FILE *fp;
fp=fopen("IN94.DAT","r");
for(i=0;i<20;i++)
for(j=0;j<10;j++)
fscanf(fp,"%d,#,&xx[i*10+j]);
printf("%d",xx[i*10+j]);
printf("/n");
fclose(fp);
void main( )
int cnt1,cnt2,xx[N];
float pj;
FILE *fw;
clrscr( );
fw=fopen("out94.dat","w");
read_dat(xx); printf("/n/ncnt1=%d, cnt2=%d,pj=%6.2f/n",cnt1,cnt2,pj);
fprintf(fw,"%d/n%d/n%6.2f/n",cnt1,cnt2,pj);
fclose(fw);
[简答题]请编制程序,要求:将文件IN91.DAT中的200个整数读入数组xx中,求出数组xx中奇数的个数cnt1和偶数的个数cnt2,以及数组xx下标为偶数的元素值的算术平均值pj(保留2位小数),结果cnt1,cnt2,pj输出到out91.dat中。
部分程序、读函数read_dat(int xx[200])及输出格式已给出。
试题程序:
#include<conio.h>
#include<stdio.h>
#define N 200
void read_dat (int xx[N])
{
int i,j;
FILE *fp;
fp=fopen ("IN91.DAT", "r");
for (i=0;i<20;i++)
{
for (j=0; j<10; j++)
{
fscanf (fp, "%d, ", &xx [i*10+j]);
printf ("%d", xx [i*10+j]);
}
printf ("/n");
}
fclose (fp);
}
void main ( )
{
int cnt1,cnt2,xx[N];
float pj;
FILE *fw;
int i, k=0;
long j;
clrscr ( );
fw=fopen ("out91.dat", "w");
read_dat (xx);
printf ("/n/ncnt1=%d, cnt2=%d,pj=%6.2f/n", cnt1, cnt2, pj);
fprintf (fw, "%d/n%d/n%6.2f/n", cnt1, cnt2,pj);
fclose (fw);
[简答题]将文件IN.DAT中的200个整数读至数组XX中。请编制isValue( )函数,要求:求出数组XX中的数值为奇数的个数cnt1和数值为偶数的个数cnt2以及数组XX下标为奇数的元素值的算术平均值pj。结果cnt1、cnt2、pj输出到OUT.DAT中。
注意:部分源程序存在文件PROG1.C文件中。请勿改动数据文件IN.DAT中的任何数据、主函数main( )、读函数read_dat( )和输出函数writeDat( )的内容。
[试题程序]
#include
#define N 200
int cnt1,cnt2,XX[N];
float pj;/。平均值。/
void writeDat( );
void jsValue( )
void read_dat(int XX[N])
int i,j;
FILE *fp;
fp=fopen(“in.dat”,"r");
for(i=0;i<20;i++)
forj=0;j<10;j++)
fscanf(fp,"%d,",&xx[i*10+j]);
printf("%d",xx[i*10+j]);
printf("/n");
fclose(fp);
void main( )
read_dat(xx);
jsValue( );
printf("/n/ncnt1=%d,cnt2=%d,pj=%6.2f/n",cnt1,cnt2,pj);
writeDat( );
void writeDat( )
FILE *fw;
fw=fopen(“out.dat”,“w”);
fprintf(fw,"%d/n%d/n%6.2f/n",cnt1,cnt2,pj);
fclose(fw);
[简答题]【说明】
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:
m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2]
其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数,1表示负数。
运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减的情况。注:不考虑溢出情况,即数组足够大。
【函数】
int cmp(int *LA, int *LB);
/*比较长整数LA与LB的绝对值大小*/
/*若LA绝对值较大返回正值,LA较小返回负值,相等则返回0*/
int ADD(int *LA, int*LB, int *LC)
/*计算长整数LA与LB的和,结果存储于LC中*/
/*注意:正数与负数的和相当于正数与负数绝对值的差*/
/*数据有误返回0,正常返回1*/
{
if(LA==NULL || LB==NULL || LC==NULL)return 0;
int *pA, *pB,i,N,carry,flag;
flag=LA[0]+LB[0];
switch(flag){/*根据参与运算的两个数的符号进行不同的操作*/
case 0:
case 2:
LC[0]=LA[0];/*LA与LB同号,结果符号与LA(LB)相同*/
pA=LA;
pB=LB;
(1) ;
break;
case 1:/*LA与LB异号*/
/*比较两者的绝对值大小,结果符号与较大者相同*/
flag= (2) ;
if(flag>0){/*LA较大*/
LC[0]=LA[0];
pA=LA;
pB=LB;
}
[简答题][说明]
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:
m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2]
其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数、1表示负数。
运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。
[函数]
int cmp(int *LA, int *LB);
/*比较长整数LA与LB的绝对值大小*/
/*若LA绝对值较大返回正值,LA较小返回负值,相等则返回0*/
int ADD (int *LA, int *LB, int *LC)
/*计算长整数LA与LB的和,结果存储于LC中*/
/*注意:正数与负数的和相当于正数与负数绝对值的差*/
/*数据有误返回0,正常返回1*/
if(LA == NULL || LB == NULL || LC == NULL)return 0;
int *pA, *pB, i, N, carry, flag;
flag = LA[0] + LB[0];
switch(flag) /*根据参与运算的两个数的符号进行不同的操作*/
case 0:
case 2:
Lc[0] = LA[0];/*LA与LB同号,结果符号与LA(LB)相同*/
pA = LA;
pB = LB;
(1) ;
break;
case 1: /*LA与LB异号*/
/*比较两者的绝对值大小,结果符号与较大者相同*/
flag = (2) ;
if(flag > 0) /*LA较大*/
LC[0] = LA[0];
pA = LA;
pB = LB;
else if(flag < 0)(/*LB较大*/