第16套
程序PROG.C的功能是:选出1000至9999范围内的所有素数,且符合下面条件:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的正10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue()实现程序的要求。最后main()函数调用函数writeDAT()把结果cnt和sun输出到OUT.DAT中。 答案:
void countValue()
{ int i,j; /* 定义变量 */ int a1,a2,a3,a4;
for(i=1000;i<=9999;i++)
{ a1=i; /* 数位分解 */ a2=i0/10; a3=i00/100; a4=i/1000; for(j=2;j
if(j==i&&a4+a3==a2+a1&&a4+a3==(a1-a4)*10) /* 判断条件 */ { cnt++; sum+=i; } } }
第17套
已知数据文件IN43.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:如果4位数各位上的数字均是0、2、4、6或8,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT43.DAT文件中。 注意:部分源程序已给出。程序中已定义数组:a[200]、b[200],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】
int i,j; /* 定义变量 */ int a1,a2,a3,a4; int temp;
for(i=0;i { a1=a[i]; /* 数位分解 */ a2=a[i]0/10; a3=a[i]00/100; a4=a[i]/1000; if(a1%2==0&&a2%2==0&&a3%2==0&&a4%2==0) /* 判断条件 */ b[cnt++]=a[i]; } 11 / 57 for(i=0;i { temp=b[i]; b[i]=b[j]; b[j]=temp; } 第18套 已知数据文件IN12.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT12.DAT文件。 例如:1239,9-1-2-3>0,则该数满足条件,存入数组b中,且个数cnt=cnt+1。 8129,9-8-1-2<0,则该数不满足条件,忽略。 注意:部分源程序已给出。程序中已定义数组:a[300],b[300];已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】 void jsValue() { int i,j; /* 定义变量 */ int a1,a2,a3,a4; int temp; for(i=0;i<300;i++) { a1=a[i]; /* 数位分解 */ a2=a[i]0/10; a3=a[i]00/100; a4=a[i]/1000; if(a1-a4-a3-a2>0) /* 判断条件 */ b[cnt++]=a[i]; } for(i=0;i { temp=b[i]; b[i]=b[j]; b[j]=temp; } 第19套 12 / 57 已知数据文件IN33.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:把一个4位数的千位数上的值减百位数上的值再减十位数上的值最后减个位数上的值,如果得出的值大于零且此4位数是奇数,则统计出满足此条件的数的个数cnt,并把这些4位数存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序。最后,调用函数writeDat()把结果cnt及数组b中的符合条件的4位数输出到OUT33.DAT文件中。 注意:部分源程序已给出。程序中已定义数组:a[200]、b[200];已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】 void jsVal() { int i,j; /* 定义变量 */ int a1,a2,a3,a4; int temp; for(i=0;i { a1=a[i]; /* 数位分解 */ a2=a[i]0/10; a3=a[i]00/100; a4=a[i]/1000; if(a4-a3-a2-a1>=0&&a[i]%2==1) /* 判断条件 */ b[cnt++]=a[i]; } for(i=0;i { temp=b[i]; b[i]=b[j]; b[j]=temp; } } 第20套 已知数据文件IN35.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:如果一个4位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,十位数字上的值大于等于个位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中。最后,调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT35.DAT文件中。 注意:部分源程序已给出。程序中已定义数组:a[200]、b[200];已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】 void jsVal() { int i,qw,bw,sw,gw,j,t; for(i=0;i 13 / 57 { qw=a[i]/1000; bw=a[i]00/100; sw=a[i]0/10; gw=a[i]; if((qw>=bw)&&(bw>=sw)&&(sw>=gw)&&a[i]%2!=0) { b[cnt]=a[i]; cnt++; } } for(i=0;i if(b[i]>b[j]) { t=b[i]; b[i]=b[j]; b[j]=t; } } 第21套 已知数据文件IN36.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制一个函数jsVal(),其功能是:如果一个4位数的千位数字上的值加个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的4位数输出到OUT36.DAT文件中。 注意:部分源程序已给出。程序中已定义数组:a[200]、b[200];已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】 void jsVal() { int i,qw,bw,sw,gw,j,t; for(i=0;i<200;i++) /*求每个四位数的每位数字*/ { qw=a[i]/1000; bw=a[i]00/100; sw=a[i]0/10; gw=a[i]; if ((qw+gw==bw+sw) && a[i]%2==1) { b[cnt]=a[i]; cnt++; } } for(i=0;i if(b[i]>b[j]) { t=b[i]; b[i]=b[j]; b[j]=t; } } 第22套 已知数据文件IN34.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:如果一个4位数的千位数字上的值加十位数字上 14 / 57 的值恰好等于百位数字上的值加上个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中。最后,调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT34.DAT文件中。 注意:部分源程序已给出。程序中已定义数组:a[200]、b[200];已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】 void jsVal() { int i,qw,bw,sw,gw,j,t; for(i=0;i qw=a[i]/1000; bw=a[i]00/100; sw=a[i]0/10; gw=a[i]; if((qw+sw==bw+gw)&&a[i]%2!=1) { b[cnt]=a[i]; cnt++; } } for(i=0;i if(b[i]>b[j]) { t=b[i]; b[i]=b[j]; b[j]=t; } } 第23套 已知数据文件IN17.DAT中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的4位数的平均值pjz1,以及所有不满足此条件的4位数的平均值pjz2,最后调用函数writeDat()把结果cnt、pjz1、pjz2输出到OUT17.DAT文件。 例如:7153,7+1=5+3,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。 8129,8+1≠2+9,则该数不满足条件,计算平均值pjz2。 注意:部分源程序已给出。程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】 void jsValue() { int i,thou,hun,ten,data,n=0; for(i=0;i<300;i++) { thou=a[i]/1000; /*求四位数的千位数字*/ hun=a[i]00/100; /*求四位数的百位数字*/ ten=a[i]0/10; /*求四位数的十位数字*/ data=a[i]; /*求四位数的个位数字*/ if(thou+hun==ten+data) 15 / 57 百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库2024年9月计算机三级网络技术机试100套上机题库(最新)(3)在线全文阅读。
相关推荐: