资源描述
数列问题 39题
编写函数JSvalue()它功能是求F数列中不不不小于t最小一种数,成果由函数返回,其中F数列F(n)定义为:
F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)
最后调用函数writeDAT()把成果输入到文献outDAT中。
答案解析:
int f0=0,f1=1,fn;
fn=f0+f1;
while (fn<=t)
{
f0=f1;
f1=fn;
fn=f0+f1;
}
return fn;
第38题 下列程序功能是,运用如下所示简朴迭代措施求方程
cos(x)-x=0一种实根,Xn+1=cos(xn)
迭代环节如下
1) 取x1值为0.0,
2) X0=x1,把x1值赋给x0
3) X1=cos(x0),求出一种新x1;
4) 若x0-x1绝对值不不小于0.000001,执行环节(5),否则执行环节(2)
5) 所求x1是方程cos(x)-x=0一种实根,作为函数值返回
请编制函数countValue()实现程序规定,最后调用函数writeDAT(),把成果输出到文献outDAT中。
答案解析:
float x1=0.0,x0;
do {
x0=x1;
x1=cos(x0);
}
while (fabs(x0-x1)>=0.000001);
return x1;
第95题
请编写函数countValue(),它功能是求n以内(不波及n)同步能被3与7整除所有自然数之和平方根,并作为函数值返回,最后成果s输出到文献夹OUTDAT中。
答案解析:
int i;
double s=0;
for (i=21;i<n;i+=21)
s+=i;
return sqrt (s);
第七题 下列程序功,能是;计算出自然数six和nine,她们满足条件是six+six+six=nine+nine个数cnt,以及满足此条件所有six与nine和SUM,请编写函数countValue()实现程序规定,最后调用WRITEDAT()把成果cnt,sum输出到文献outDAT中,其中SIXNE各代表一种十进制数字。
答案解析:
int i,j,a1,a2,a3,a4;
for (i=100;i<=999;i++)
{
j=3*i/2;
a1=i/10%10;
a2=j/100%10;
a3=j/1000;
a4=j/10%10;
if(a1==a2 && a3==a4 && j>=1000 && j<=9999 && 3*i==2*j)
{
cnt++;
sum+=i+j;
}
}
素数问题 44 45 10
45.下列程序功能是:将不不不小于整数m且紧靠mk个素数存入数组xx,请编写函数num(int m,int k,inxx[ ])实现程序规定,最后调用函数readwriteDAT()把成果输出到out dat文献中。
答案解析:
int i,d,h,n=0;
d=m+1;
while (n<k)
{
h=d/2;
for(i=2;i<=h;i++)
if(d%i==0) break;
if(i>h)
{
xx[n]=d;
n++;
}
d++;
}
44.下列程序功能是计算500-800之间个数cnt,并按所规定素数值从大到小顺序,在计算其间隔减加之和,即第一种素数-第二个素数+第三个素数-第四个素数+第五个素数……值sum,请编写函数countvlue(),实现程序规定,最后调用函数writeDAT()把成果cnt和sum输出到文献outDAT中。
答案解析:
int i,j,h,f=1;
for (i=799;i>500;i-=2)
{
h=i/2;
for (j=2;j<=h;j++)
if(i%j==0) break;
if (j>h)
{
cnt++;
sum+=i*f;
f=-f;
}
}
10. 下列程序功能是:选出100-1000之间所有个位数字与十位数字之和被10 除所得余数恰是百位数字素数(293)。计算并输出上述这些素数个数cnt,以及这些函数值和sum
请编写函数vlue(),实现程序规定,最后调用函数writeDAT()把成果cnt和sum输出到文献outDAT中。
答案解析:
int i,j,h,ge,shi,bai;
for (i=101;i<=999;i+=2)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if ((ge+shi)%10==bai)
{
h=i/2;
for(j=2;j<=h;j++)
if(i%j==0) break;
if (j>h)
{
cnt++;
sum+=i;
}
}
}
第91题 下列程序功能是:寻找并输出11至999之间数m,它满足m,m2,m3,均为回文数,所谓回文数是指各位数字左右对称整数,例如121,676,94249等,满足上述条件数如m=11,m2=121,m3=1331,皆为回文数,如果是回文数,则函数返回1,反之返回0,把成果输出到文献OUT,DAT中。
答案解析:
int i,cnt=0,xx[10],j;
while (n>0)
{
xx[cnt]=n%10;
n=n/10;
cnt++;
}
for (i=0,j=cnt-1;i<=j;i++,j--)
if(xx[i]!=xx[j]) break;
if(i>j) return 1;
else return 0;
第九题 下列程序功能是,在三位整数中(100至999)中寻找符合下面条件整数,并依次从小大存入数组中,它既是完全平方数,又有两位数字相似,例如144,676等,请编制函数 int jsvalue(int bb[ ] ),实现此功能满足该条件整数个数通过所编制函数返回。
答案解析:
int i,j,t,ge,shi,bai ,cnt=0;
for (i=100;i<=999;i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(ge==shi || shi==bai || bai==ge)
for (j=10;j<=33;j++)
if (i==j*j)
{
bb[cnt]=i;
cnt++;
}
}return cnt ;
对四位数解决 2 24 25 27 76 77 78 80 81 98
2.已知数据文献INDAT中存有300个四位数,并已调用读函数readdat(),把这些数存入数组a中,请编制函数javalue(),其功能是:求出千位数上数加个位数上数等于百位数上数加十位数上数个数cnt,再把所有满足此条件四位数依次存入数组b中,然后对数组b四位数按从小到大顺序进行排序,最后调用写函数writedat把数组b中数输出到OUTdat中。
{
int i,j,t,ge,shi,bai,qian;
for (i=0;i<300;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
if(ge+qian==shi+bai)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
24. 已知数据文献INDAT中存有200个四位数,并已调用读函数readdat(),把这些数存入数组a中,请编制函数javalue(),其功能是:如果四位数各位数上数均为奇数,则记录出满足条件个数cnt,并把四位数按从大到小顺序存入数组b中,最后调用写函数writedat把数组b中数输出到OUTdat中。
答案解析:
int i,j,t,ge,shi,bai,qian;
for(i=0;i<200;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
if (ge%2!=0 && shi%2!=0 && bai%2!=0 && qian%2!=0)
{
b[cnt]=a[i];
cnt++;
}
}
for (i=0;i<cnt-1;i++)
for (j=i+1;j<cnt;j++)
if (b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
25. 已知数据文献INDAT中存有300个四位数,并已调用读函数readdat(),把这些数存入数组a中,请编制函数javalue(),其功能是:千+百=十+个个数cnt,再把所有满足此条件四位数依次存入数组b中,然后对数组b四位数按从大到小顺序进行排序,最后调用写函数writedat把数组b中数输出到OUTdat中。
答案解析:
int i,j,t,ge,shi,bai,qian;
for (i=0;i<300;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
if(qian+bai==shi+ge)
{
b[cnt]=a[i];
cnt++;
}
}
for (i=0;i<cnt-1;i++)
for (j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
76. 已知数据文献INDAT中存有300个四位数,并已调用读函数readdat(),把这些数存入数组a中,请编制函数javalue(),其功能是:如果四位数各位数上数均是0,2,4,6,或8.则记录满足条件个数cnt,,最后调用写函数writedat把数组b中数输出到OUTdat中。
答案解析:
int i,j,t,ge,shi,bai,qian;
for (i=0;i<200;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
if (ge%2==0 && shi%2==0 && bai%2==0 && qian%2==0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
对四位数解决(2) 3 29 30 31 63 82 84
3.已知数据文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制一种函数jsval(),其功能是,把千位数字和十位数字重新构成一种新二位数ab(新十位数2位数字是原四位数千位数字,新2位数字个位数是原四位数十位数字)以及把个位数字和百位数字构成另一种新十位数cd(新十位数十位数字是原四位数个位数字,新2位数个位数字是原四位数百位数字)如果新构成两个十位数ab-cd>=0且ab-cd<=10且两个数均为奇数,同步两个新十位数字均不为0,则将满足此条件四位数字按从大到小顺序存入数组b中,并计算满足上述条件四位数个数cnt,最后调用函数writeDAT()中,把成果cnt及数组b中符合条件四位数输出到outdat文献中。
答案解析:
int i,j,t,ge,shi,bai,qian,ab,cd;
for(i=0;i<200;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
ab=qian*10+shi;
cd=ge*10+bai;
if ((ab-cd)>=0 && (ab-cd)<=10 && ab%2==1 && cd%2==1 && qian!=0 && ge!=0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
29. 已知数据文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制一种函数jsval(),其功能是,把千位数字和十位数字重新构成一种新二位数ab(新十位数2位数字是原四位数千位数字,新2位数字个位数是原四位数个位数字)以及把个位数字和百位数字构成另一种新十位数cd(新十位数十位数字是原四位数百位数字,新2位数个位数字是原四位数个位数字)如果新构成两个十位数均为奇数,并且两个二位数中至少有一种能被5整除,同步两个新十位数字都不为0,则将满足此条件四位数字按从大到小顺序存入数组b中,并计算满足上述条件四位数个数cnt,最后调用函数writeDAT()中,把成果cnt及数组b中符合条件四位数输出到outdat文献中。
答案解析:
int i,j,t,ge,shi,bai,qian,ab,cd;
for (i=0;i<200;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
ab=qian*10+ge;
cd=bai*10+shi;
if (ab%2==1 && cd%2==1 && (ab%5==0 || cd%5==0)&& qian!=0 && bai!=0)
{
b[cnt]=a[i];
cnt++;
}
}
for (i=0;i<cnt-1;i++)
for (j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
30已知数据文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制一种函数jsval(),其功能是,把千位数字和十位数字重新构成一种新二位数ab(新十位数2位数字是原四位数千位数字,新2位数字个位数是原四位数十位数字)以及把个位数字和百位数字构成另一种新十位数cd(新十位数十位数字是原四位数个位数字,新2位数个位数字是原四位数百位数字)如果新构成两个十位数ab-cd>=10且ab-cd<=20且两个数均为偶数,同步两个新十位数字均不为0,则将满足此条件四位数字按从大到小顺序存入数组b中,并计算满足上述条件四位数个数cnt,最后调用函数writeDAT()中,把成果cnt及数组b中符合条件四位数输出到outdat文献中。
答案解析:
int i,j,t,ge,shi,bai,qian,ab,cd;
for(i=0;i<200;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
ab=qian*10+shi;
cd=ge*10+bai;
if ((ab-cd>=10) &&(ab-cd<=20) && (ab%2==0)&& (cd%2==0) && qian!=0 &&ge!=0)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
31. 已知数据文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制一种函数jsval(),其功能是,把千位数字和十位数字重新构成一种新二位数ab(新十位数2位数字是原四位数千位数字,新2位数字个位数是原四位数十位数字)以及把个位数字和百位数字构成另一种新十位数cd(新十位数十位数字是原四位数个位数字,新2位数个位数字是原四位数百位数字)如果新构成两个十位数均为素数,且两个新十位数字均不为0,则将满足此条件四位数字按从大到小顺序存入数组b中,并计算满足上述条件四位数个数cnt,最后调用函数writeDAT()中,把成果cnt及数组b中符合条件四位数输出到outdat文献中。
答案解析:
int i,j,t,ge,shi,bai,qian,ab,cd;
for(i=0;i<200;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
ab=qian*10+shi;
cd=ge*10+bai;
if(isprime(ab)&&isprime(cd)&&qian!=0&&ge!=0)
{
b[cnt]=a[i];
cnt++;
}
}
for (i=0;i<cnt-1;i++)
for (j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
63. 已知数据文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制一种函数jsval(),其功能是,把千位数字和十位数字重新构成一种新二位数ab(新十位数2位数字是原四位数千位数字,新2位数字个位数是原四位数十位数字)以及把个位数字和百位数字构成另一种新十位数cd(新十位数十位数字是原四位数个位数字,新2位数个位数字是原四位数百位数字)如果新构成两个十位数ab<cd,ab必要是奇数且不能被5整除,cd必要是偶数。且两个新十位数字均不为0,则将满足此条件四位数字按从大到小顺序存入数组b中,并计算满足上述条件四位数个数cnt,最后调用函数writeDAT()中,把成果cnt及数组b中符合条件四位数输出到outdat文献中。
答案解析:
int i,j,t,ge,shi,bai,qian,ab,cd;
for (i=0;i<200;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
ab=qian*10+shi;
cd=ge*10+bai;
if((ab<cd)&&(ab%2==1)&&(ab%5!=0)&&(cd%2==0)&&qian!=0&&ge!=0)
{
b[cnt]=a[i];
cnt++;
}
}
for (i=0;i<cnt-1;i++)
for (j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
82. 已知数据文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制一种函数jsval(),其功能是,把千位数字和个位数字重新构成一种新二位数ab(新十位数2位数字是原四位数个位数字,新2位数字个位数是原四位数千位数字)以及把十位数字和百位数字构成另一种新十位数cd(新十位数十位数字是原四位数百位数字,新2位数个位数字是原四位数十位数字)如果新构成两个十位数均为偶数且至少有一种能被9整除,且两个新十位数字均不为0,则将满足此条件四位数字按从大到小顺序存入数组b中,并计算满足上述条件四位数个数cnt,最后调用函数writeDAT()中,把成果cnt及数组b中符合条件四位数输出到outdat文献中。
答案解析:
int i,j,t,ge,shi,bai,qian,ab,cd;
for (i=0;i<200;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
ab=ge*10+qian;
cd=bai*10+shi;
if ((ab%2==0&& cd%2==0)&& (ab%9==0 || cd%9==0)&& ge!=0 && bai!=0)
{
b[cnt]=a[i];
cnt++;
}
}
for (i=0;i<cnt-1;i++)
for (j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
83. 84
对四位数解决(3) 4 32 96 99
4.已知数据文献INDAT中有300个四位数,并已调用函数readDAT(),把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出千位数上数加百位数上数等于十位数上数加个位数上数个数cnt,再求出满足所有满足条件四位数平均值pjz1,以及所有不满足此条件四位数平均值pjz2,最后调用函数writedat()把成果cnt.pjz1,pjz2输出到OUTDAT文献。
答案解析:
int i,ge,shi,bai,qian;
double sum1=0,sum2=0;
for(i=0;i<300;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
if (qian+bai==shi+ge)
{
cnt++;
sum1+=a[i];
}
else sum2+=a[i];
}
pjz1=sum1/cnt;
pjz2=sum2/(300-cnt);
32. 已知数据文献INDAT中有300个四位数,并已调用函数readDAT(),把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出个位数上数减千位数上数减百位数上数减十位数上数不不不小于0数个数cnt,再求出满足所有满足条件四位数平均值pjz1,以及所有不满足此条件四位数平均值pjz2,最后调用函数writedat()把成果cnt.pjz1,pjz2输出到OUTDAT文献。
答案解析:
int i,ge,shi,bai,qian;
double sum1=0,sum2=0;
for (i=0;i<300;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
if (ge-qian-bai-shi>0)
{
cnt++;
sum1+=a[i];
}
else sum2+=a[i];
}
pjz1=sum1/cnt;
pjz2=sum2/(300-cnt);
96. 已知数据文献INDAT中有300个四位数,并已调用函数readDAT(),把这些数存入数组a中,请编制一函数jsvalue(),其功能是:千+个=百+十数个数cnt,再求出满足所有满足条件四位数平均值pjz1,以及所有不满足此条件四位数平均值pjz2,最后调用函数writedat()把成果cnt.pjz1,pjz2输出到OUTDAT文献。
答案解析:
int i,ge,shi,bai,qian;
double sum1=0,sum2=0;
for(i=0;i<300;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
if (qian+ge==bai+shi)
{
cnt++;
sum1+=a[i];
}
else sum2+=a[i];
}
pjz1=sum1/cnt;
pjz2=sum2/(300-cnt);
99. 已知数据文献INDAT中有300个四位数,并已调用函数readDAT(),把这些数存入数组a中,请编制一函数jsvalue(),其功能是:千-百-十-个>0数个数cnt,再求出满足所有满足条件四位数平均值pjz1,以及所有不满足此条件四位数平均值pjz2,最后调用函数writedat()把成果cnt.pjz1,pjz2输出到OUTDAT文献。
答案解析:
int i,ge,shi,bai,qian;
double sum1=0,sum2=0;
for(i=0;i<300;i++)
{
ge=a[i]%10;
shi=a[i]/10%10;
bai=a[i]/100%10;
qian=a[i]/1000;
if(qian-bai-shi-ge>0)
{
cnt++;
sum1+=a[i];
}
else sum2+=a[i];
}
pjz1=sum1/cnt;
pjz2=sum2/(300-cnt);
持续不不不小于或不不小于前面或背面5个数
5.已知文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制函数jsval(),其功能是依次从数组a中取出一种四位数,如果该四位数持续不不小于该四位数后来5个数,且该数是偶数(该四位数后来不满5个数不记录)则记录出满足此条件数个数cnt,并把这些四位数按从小到大顺序存入数组b中,最后调用写函数writedat()把成果cnt及数组b中符合条件四位数输出到out.dat文献中。
答案解析:
int i,j,t;
for(i=0;i<195;i++)
if(a[i]<a[i+1] && a[i]<a[i+2] && a[i]<a[i+3] && a[i]<a[i+4] && a[i]<a[i+5] && a[i]%2==0)
{
b[cnt]=a[i];
cnt++;
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
35.已知文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制函数jsval(),其功能是依次从数组a中取出一种四位数,如果该四位数持续不不不小于该四位数此前5个数,且该数是偶数(该四位数后来不满5个数不记录)则记录出满足此条件数个数cnt,并把这些四位数按从大到小顺序存入数组b中,最后调用写函数writedat()把成果cnt及数组b中符合条件四位数输出到out.dat文献中。
答案解析:
int i,j,t;
for (i=5;i<200;i++)
if (a[i]>a[i-1] && a[i]>a[i-2] && a[i]>a[i-3] && a[i]>a[i-4] && a[i]>a[i-5] && a[i]%2==0)
{
b[cnt]=a[i];
cnt++;
}
for (i=0;i<cnt-1;i++)
for (j=i+1;j<cnt;j++)
if (b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
65. 已知文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制函数jsval(),其功能是依次从数组a中取出一种四位数,如果该四位数持续不不不小于该四位数此前5个数,且该数是奇数(该四位数后来不满5个数不记录),该数必要能被7整除,则记录出满足此条件数个数cnt,并把这些四位数按从大到小顺序存入数组b中,最后调用写函数writedat()把成果cnt及数组b中符合条件四位数输出到out.dat文献中。
答案解析:
int i,j,t;
for(i=5;i<200;i++)
if (a[i]>a[i-1] && a[i]>a[i-2] && a[i]>a[i-3] && a[i]>a[i-4] && a[i]>a[i-5] && a[i]%2!=0 && a[i]%7==0)
{
b[cnt]=a[i];
cnt++;
}
for (i=0;i<cnt-1;i++)
for (j=i+1;j<cnt;j++)
if (b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
100. 已知文献INDAT中存有200个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制函数jsval(),其功能是依次从数组a中取出一种四位数,如果该四位数持续不不不小于该四位数后来5个数,且该数是奇数(该四位数后来不满5个数不记录),
则记录出满足此条件数个数cnt,并把这些四位数按从小到大顺序存入数组b中,最后调用写函数writedat()把成果cnt及数组b中符合条件四位数输出到out.dat文献中。
答案解析:
int i,j,t;
for (i=0;i<195;i++)
if(a[i]>a[i+1] && a[i]>a[i+2] && a[i]>a[i+3] && a[i]>a[i+4] && a[i]>a[i+5] && a[i]%2!=0)
{
b[cnt]=a[i];
cnt++;
}
for (i=0;i<cnt-1;i++)
for (j=i+1;j<cnt;j++)
if (b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
数值排序 6 36
6.在文献IN.DAT中有200个正整数,且每个数均在1000至9999之间,函数ReadDAT()功能是读取这200个书存储到数组aa中,请编制函数Jsvalsort()该函数功能是:规定按每个数后三位大小进行降序排列,将排序前10个数存入数组bb中,如果浮现后3位相等数。则对这些数按原始4位数据进行升序排列,最后调用函数writeDAT()把成果bb输入到文献OUT.DAT中。
答案解析:
int i,j,t;
for(i=0;i<199;i++)
for(j=i+1;j<200;j++)
if(aa[i]%1000<aa[j]%1000)
{
t=aa[i];
aa[i]=aa[j];
aa[j]=t;
}
else if (aa[i]%1000==aa[j]%1000)
if (aa[i]>aa[j])
{
t=aa[i];
aa[i]=aa[j];
aa[j]=t;
}
for (i=0;i<10;i++)
bb[i]=aa[i];
36. 在文献IN.DAT中有200个正整数,且每个数均在1000至9999之间,函数ReadDAT()功能是读取这200个书存储到数组aa中,请编制函数Jsvalsort()该函数功能是:规定按每个数后三位大小进行升序排列,将排序前10个数存入数组bb中,如果浮现后3位相等数。则对这些数按原始4位数据进行降序排列,最后调用函数writeDAT()把成果bb输入到文献OUT.DAT中。
答案解析:
int i,j,t;
for(i=0;i<199;i++)
for(j=i+1;j<200;j++)
if(aa[i]%1000>aa[j]%1000)
{
t=aa[i];
aa[i]=aa[j];
aa[j]=t;
}
else if (aa[i]%1000==aa[j]%1000)
if(aa[i]<aa[j])
{
t=aa[i];
aa[i]=aa[j];
aa[j]=t;
}
for (i=0;i<10;i++)
bb[i]=aa[i];
保存小数点位数 13 47 48
13.在主函数中编写成粗,需要定义变量赋予初始值(注意空白处)。请编制程序,规定:将文献IN.DAT中200个整数读入数组XX中,求出数组XX中最大数max及最大数个数cnt和数组xx中值能被3整除或被7整除数算术平均值pj(保存两位小数)。成果max,cnt,pj输入到cntDAT中。
答案解析:
cnt=0;
max=xx[0];
k=0;
for(i=0;i<200;i++)
if (max<xx[i]) max=xx[i];
for(i=0;i<200;i++)
if (max= =xx[i]) cnt++;
for(i=0;i<200;i++)
if (xx[i]%3==0 || xx[i]%7==0)
{
k++;
j+=xx[i];
}
pj=(float) (j*100/k)/100;
47.请编制程序,规定:将文献IN.DAT中200个整数读入数组XX中,求出数组XX中奇数个数cnt1及偶数个数cnt2,以及数组xx下标为偶数元素值算术平均值pj(保存两位小数)。成果cnt1,cnt2,pj输入到cntDAT中。
答案解析:
for (i=0,j=0,cnt1=0,cnt2=0;i<200;i++)
{
if (xx[i]%2!=0)
cnt1++;
else
cnt2++;
if (i%2==0)
{
k++;
j+=xx[i];
}
}
pj=(float) (j*100/k)/100;
48.请编制程序,规定:将文献IN.DAT中200
展开阅读全文