#include <iostream>
using namespace std;
class myCArray
{
private:
int* p_arr;
int size;
public:
myCArray(); //缺省构造函数
myCArray(int* p_a,int s); //构造函数
myCArray(const myCArray &r_other);//复制构造函数
~myCArray();//析构函数
int operator[](int pos) const; //访问数组元素值的下标运算符重载函数
int& operator[](int pos); //设置数组元素值的下标运算符重载函数
void print() const;
void myCArray::print() const
{
for(int i=0;i<this->size ;i++)
cout<<this->p_arr[i]<<" ";
cout<<endl;
}
int main()
{ int a[5]={1,2,3,4,5},b[5]={1,1,1,1,1};
myCArray t1(a,5),t2(b,5),t3;
t3=t1+t2;
t3.print();
t3=t1-t2;
t3[4]=100;
t3.print();
return 0;
}
补全代码
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int arr[105];
bool vis[105];
int main(){
int n,k;
scanf("%d%d",&n,&k);
int i=0,j=0,num=0,cnt=0;
while(true){
j=i%n+1;
if(!vis[j]) num++;//没走过就报数
if(num==k){//当报的数为指定值时,则标记为已出圈
num=0;
cnt++;
vis[j]=true;
printf("%d ",j);
if(cnt==n) break;
}
i++;
}
return 0;
}