1、计算机三级数据库技术(上机操作)机试模拟试卷 47及答案与解析 一、程序设计题 1 设有 n个人坐一圈并按顺时针方向从 1到 n编号,从第 s个人开始进行 1到 m的报数。报数到第 m个人。此人出圈,再从他的下一个人重新开始从 1到 m报数。如此进行下去直到所有的人都出圈为止。先要求按出圈次序,每 10个人为一组,给出这 n个人的顺序表。请编写函数 Josegh()实现此功能,并调用函数 WriteDat()把编号按照出圈顺序输出到文件 out dat中。设 n=100, S=1。 m=10进行编程。 【试题程序】 #include #define N 100 #define S 1 #def
2、ine M 10 int p-loo, n, s, m; void WriteDat(void); void Josegh(void) void main() m=M; n=N; s=S; Josegh(); WriteDat(); void WriteDat(void) int i: FILE*fp; fp=fopen(”out dat”, ”W”); for(i=N一 1li=0;i一一 ) printf(” 4d” pi); fprintf(fp, 4 d, pi); if(i 10=O) printf(“、 n”) fprintf(fP, “ n”); fclose(fp); 计算机三级数据库技术(上机操作)机试模拟试卷 47答案与解析 一、程序设计题 1 【正确答案】 void Josegh(void) int i j, temp; *定义变量 * for(i=0; i=2; i一一 ) *依次出圈 * s=(s+m一 1) it temp=pFs; for(j=s; ji一 1, j+) pj=pj+1; pi1=temp;