计算机三级数据库技术(上机操作)机试模拟试卷105(题后含答案及解析)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机三级数据库技术(上机操作)机试模拟试卷105(题后含答案
及解析)
全部题型 2. 程序设计题
程序设计题
1.程序prog1.C的功能是:选出1000至9999范围内的所有素数,且符合下面条件;于位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的整10倍。
计算并输出这些四位自然数的个数cnt以及这些数的和sum。
请编写函数countValue( )实现程序的功能。
最后main( )函数调用函数writeDAT( )把结果cnt和SLRTI输出到out.dat文件中。
【试题程序】#include<stdio.h> int cnt,sum;void writeDAT( );void countValue( ) { } void main( ) { cnt=sum=0:countValue( );printf(”满足条件的自然数的个数=%d\n”,cnt);printf(”满足条件的自然数值的和=%d\n”.sum);writeDAT( );} void writeDAT( ) { FILE*fp;fp=fopen(“out.dat”。
“W”);fprintf(fp,“%dkn%d\n”,cnt,sum);felose(fp);}
正确答案:void countValue( ){int i,j; /*定义变量*/int a1,a2,a3,a4;for(i=1000;i<=9999li++) {al=i%10; /*数位分解*/a2=i%100/10;a3=i%1000/100;a4=i/1000; for(j=2,j<iIj++) if(i%j==0) break; if(j==i&&a4+a3==a2+a1&&a4+ a3==(a1—a4)*10) /*判断条件*/{ cnt++;sum+=i; } } }。