四位数(千百十个)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
千百十个问题:
22.请编制一个函数
jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序排序
int i,q,w,e,r,j,t;
for(i=0;i<300;i++)
{q=a[i]/1000;
w=a[i]%1000/100;
e=a[i]%100/10;
r=a[i]%10;
if((r-q-w-e)>0)
{ b[cnt++]=a[i];}}
for(i=0;i for(j=i+1;j if (b[i] {t=b[i];b[i]=b[j];b[j]=t;} 18.已知数据文件IN17.DAT 中存有300个4位数,请编制一个函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的4位数的平均值pjz1,及所有不满足此条件的4位数的平均值pjz2。 int i,q,w,e,r,j,t; for(i=0;i<300;i++) {q=a[i]/1000; w=a[i]%1000/100; e=a[i]%100/10; r=a[i]%10; if(q+w==e+r) { pjz1=pjz1+a[i];cnt++;} else pjz2=pjz2+a[i];} pjz1=pjz1/cnt; pjz2=pjz2/(300-cnt); 19.已知数据文件IN15.DAT 中存有300个四位数,并已 调用读函数readDat()把这些 数存入数组a中,请编制一 个函数jsValue(),其功能是: 求出千位数上的数减百位数 上的数减十位数上的数减个 位数上的数大于零的个数 cnt,再求出所有满足此条件 的四位数的平均值pjz1,以 及不满足此条件的四位数的 平均值pjz2 int i,q,w,e,r,j,t; for(i=0;i<300;i++) {q=a[i]/1000; w=a[i]%1000/100; e=a[i]%100/10; r=a[i]%10; if((q-w-e-r)>0) { pjz1=pjz1+a[i];cnt++;} else pjz2=pjz2+a[i];} pjz1=pjz1/cnt; pjz2=pjz2/(300-cnt); 16.已知数据文件IN18.DAT 中存有300个4位数,并已 调用函数readDat()把这些数 存入数组a中,请编制一个 函数jsValue(),其功能是: 求出千位数上的数加个位数 上的数等于百位数上的数加 十位数上的数的个数cnt,再 求出所有满足此条件的4位 数平均值pjz1,以及所有不 满足此条件的4位数的平均 值pjz2 int i,q,w,e,r,j,t; for(i=0;i<300;i++) {q=a[i]/1000; w=a[i]%1000/100; e=a[i]%100/10; r=a[i]%10; if(q+r==w+e) { pjz1=pjz1+a[i];cnt++;} else pjz2=pjz2+a[i];} pjz1=pjz1/cnt; pjz2=pjz2/(300-cnt); 23.已知在文件IN58.DAT中 存有若干个(个数<200)四 位数字的正整数,函数 ReadDat()读取这若干个正整 数并存入数组xx中。请编制 函数Calvalue(),其功能要 求:(1)求出这个文件中共 有多少个正整数totnum;(2) 求这些数右移1位后,产生 的新数是偶数的数的个数 totcnt,以及满足此条件的这 些数(右移前的值)的算术 平均值totpjz,最后调用函数 WriteDa int i; for(i=0;i if(xx[i]>0) {totNum++; if((xx[i]>>1)%2==0) {totCnt++;totPjz=totPjz+xx[i ];}} totPjz=totPjz/totCnt; 25.已知在文件IN57.DAT中 存有若干个(个数<200)4位 数字的正整数,函数 ReadDat()是读取这若干个正 整数并存入数组xx中。请编 制函数CalValue(),其功能要 求是:(1)求出这个文件中 共有多少个正整数totNum。 (2)求这些数右移一位后, 产生的新数是奇数的数的个 数totCnt,以及满足此条件 的这些数(右移前的值)的 算术平均值totPjz。最后调用 函数WriteDat()把所有结果 输出到文件OUT57.DAT中。 int i; for(i=0;i if(xx[i]>0) {totNum++; if((xx[i]>>1)%2!=0) {totCnt++;totPjz=totPjz+xx[i