实习一参考程序.cpp

来自「薛超英数据结构实习一答案 设有n个人站成一圈」· C++ 代码 · 共 53 行

CPP
53
字号
//实习1
#include<iostream.h> 
#include <fstream.h>                                  
#include<stdlib.h>

const int n0=100;//假定人数在100以内

struct element
{
   int num;//编号
   int code; //密码
};

element p[n0];

void main()
{
  int i,j,m,n,t;
  char filename[80];
  
  cout<<"输入数据文件名:";
  cin>>filename;   //
  
  ifstream datafile(filename,ios::in); //
  if(!datafile){
	cout<<"文件打不开."<<endl;
    exit(0);  //
  }
  
  datafile>>t;
  
  n=0 ;
  while(!datafile.eof())
  {
   p[n].num=n+1; 
   datafile>>p[n].code;
   n++;
  };
  datafile.close();
  n--;

  t--;
  m=p[t].code;                      
  for(i=n;i>=1;i--)           
  {
   	t=(t+m-1)%i;              
    cout<<p[t].num<<" ";
    m=p[t].code;
    for(j=t+1;j<=i-1;j++)  p[j-1]=p[j];	
  }
  cout<<"\n";
}          

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?