C実戦練習テーマ69

6644 ワード

テーマ:n人が1周して、順番に番号を並べます.最初の人から数え始め(1から3まで)、3までの人は輪を脱退して、最後に残ったのは元の何番だったのかと聞いた.
プログラム解析:なし.
例:
 1 #include 
 2 void main()
 3 {
 4     int num[50],n,*p,j,loop,i,m,k;
 5     printf("          :
"); 6 scanf("%d",&n); 7 p=num; 8 // 9 for (j=0;j) 10 { 11 *(p+j)=j+1; 12 } 13 i=0;//i , 14 m=0;//m 15 k=0;//k 1,2,3 16 while(m1)//17 // m18 // 7<8, 1,2,3 , 19 { 20 if (*(p+i)!=0)// 0 1, 3 0 21 { 22 k++; 23 } 24 if (k==3) 25 { k=0; // , 1 26 *(p+i)=0;// 3 0 27 m++; // 1 28 } 29 i++; // 30 if (i==n)// , , 31 // i++ , i++ i==n 32 { 33 i=0; 34 } 35 36 37 } 38 printf(" :"); 39 for (loop=0;loop) 40 { 41 if (num[loop]!=0) 42 { 43 printf("%2d
",num[loop]); 44 } 45 } 46 47 }

以上のプログラムの実行出力結果は以下の通りです.
          :
8
       : 7 

読んでくれてありがとう.心を込めて悟ってください.勉强好きなあなたに助けてほしい!分かち合うのも1种の楽しみです!!!リレーをお願いします...
クリックして原文を見て、ありがとうございます!