资源描述
. . . . .
数列问题 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)
{
t++;
sum+=i+j;
}
}
素数问题 44 45 10
45.以下程序的功能是:将大于整数m且紧靠m的k个素数存入数组##,请编写函数num(int m,int k,in##[ ])实现程序的要求,最后调用函数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)
{
##[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,##[10],j;
while (n>0)
{
##[cnt]=n%10;
n=n/10;
t++;
}
for (i=0,j=cnt-1;i<=j;i++,j--)
if(##[i]!=##[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++;
}
}returnt ;
对四位数的处理 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];
t++;
}
}
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];
t++;
}
}
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];
t++;
}
}
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];
t++;
}
}
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];
t++;
}
}
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];
t++;
}
}
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)
{
t++;
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)
{
t++;
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)
{
t++;
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)
{
t++;
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];
t++;
}
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];
t++;
}
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个整数读入数组##中,求出数组##中最大数max与最大数的个数cnt和数组##中值能被3整除或被7整除的数的算术平均值pj(保存两位小数)。结果max,cnt,pj输入到cntDAT中。
答案解析:
cnt=0;
max=##[0];
k=0;
for(i=0;i<200;i++)
if (max<##[i]) max=##[i];
for(i=0;i<200;i++)
if (max==##[i])t++;
for(i=0;i<200;i++)
if (##[i]%3==0 || ##[i]%7==0)
{
k++;
j+=##[i];
}
pj=(float) (j*100/k)/100;
47.请编制程序,要求:将文件IN.DAT中的200个整数读入数组##中,求出数组##中奇数的个数cnt1与偶数的个数cnt2,以与数组##下标为偶数的元素值的算术平均值pj(保存两位小数)。结果cnt1,cnt2,pj输入到cntDAT中。
答案解析:
for (i=0,j=0,cnt1=0,cn
展开阅读全文