一起答
主观

设有n个人坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始从1到m报数,如此进行下去直到所有的人都出圈为止。先要求按出圈次序,每10个人为一组,给出这n个人的顺序表。请编制函数Josegh()实现此功能并调用函数WriteDat()把编号按照出圈顺序输出到文件OUT59.DAT中。

 设n=100,s=1,m=10进行编程。

 注意:部分源程序已给出。

 请勿改动主函数main()和写函数WriteDat()的内容。

 试题程序:

 #include<stdio.h>

 #define N 100

 #define S 1

 #define M 10

 int p[100],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("OUT59.DAT","w");

   for(i=N-1;i>=0;i--)

   {

     printf("%4d",p[i]);

     fprintf(fp,"%4d",p[i]);

     if (i%10==0)

     {

       printf ("\n");

       fprintf(fp,"\n");

     }

   }

   fclose(fp);

 }

参考答案
查看试卷详情