(一个要求用数组解决),输入一组数,随便输入下标然后删除这个数的后面第五个数a;a开始接着找后面第五个数最后剩什么数解决思路
(一个要求用数组解决),输入一组数,随便输入下标然后删除这个数的后面第五个数a;a开始接着找后面第五个数最后剩什么数
#include <iostream.h>
int num1,num2,num3;
int *dele(int *Array,int i);
int main()
{
int * Array;
int k,d;
cout < < "请输入人数! ";
cin> > num1;
Array=new int [num1];
for(int i=0;i <num1;)
{
Array[i]=++i;
cout < < "Array[ " < <i < < "]= " < <Array[i] < <endl;
}
cout < < "请输入第几个开始! ";
cin> > num2;
cout < < "you ";
if(num2 <num1)
{
while(sizeof(Array)==4)
{
if(d> num1)
{
k=k-num1;
continue ;
}
if(5> num1)
{
k=5%num1;
dele(Array,k);
}
else if(d%num1> =0)
{
k=d%5;
dele(Array, k );
}
else
cout < < "你输入错误! ";
d=d+5;
num1--;
cout < <num1;
}
cout < <*Array < < "you are right! ";
}
else
cout < < "你输入错误! ";
return 0;
}
int *dele(int *Array,int i)
{
while(i <num1)
{
Array[i]=Array[i+1];
}
return Array;
}
------解决方案--------------------
#include <iostream>
using namespace std;
int count; //当前人数
int beginc; //从第几个开始数
int *dele(int *Array,int i);
int main()
{
int erasec; //删除数组中第erasec个数
cout < < "请输入人数! ";
cin> > count;
int * Array=new int [count];
for(int i=0;i <count;i++)
{
Array[i]=i+1;
cout < < "Array[ " < <i < < "]= " < <Array[i] < <endl;
}
do{
cout < < "请输入第几个开始! ";
cin> > beginc;
if(beginc> count) cout < < "你输入错误!\n ";
}while(beginc> count);
cout < < "Out:\t ";
while(count> 1)
{
erasec=(beginc+4)%count; //从第beginc个人开始数五个人
if(erasec==0) erasec=count; //不可能删除数组中第0个元素
cout < <Array[erasec-1] < < '\t ';
dele(Array,erasec);
#include <iostream.h>
int num1,num2,num3;
int *dele(int *Array,int i);
int main()
{
int * Array;
int k,d;
cout < < "请输入人数! ";
cin> > num1;
Array=new int [num1];
for(int i=0;i <num1;)
{
Array[i]=++i;
cout < < "Array[ " < <i < < "]= " < <Array[i] < <endl;
}
cout < < "请输入第几个开始! ";
cin> > num2;
cout < < "you ";
if(num2 <num1)
{
while(sizeof(Array)==4)
{
if(d> num1)
{
k=k-num1;
continue ;
}
if(5> num1)
{
k=5%num1;
dele(Array,k);
}
else if(d%num1> =0)
{
k=d%5;
dele(Array, k );
}
else
cout < < "你输入错误! ";
d=d+5;
num1--;
cout < <num1;
}
cout < <*Array < < "you are right! ";
}
else
cout < < "你输入错误! ";
return 0;
}
int *dele(int *Array,int i)
{
while(i <num1)
{
Array[i]=Array[i+1];
}
return Array;
}
------解决方案--------------------
#include <iostream>
using namespace std;
int count; //当前人数
int beginc; //从第几个开始数
int *dele(int *Array,int i);
int main()
{
int erasec; //删除数组中第erasec个数
cout < < "请输入人数! ";
cin> > count;
int * Array=new int [count];
for(int i=0;i <count;i++)
{
Array[i]=i+1;
cout < < "Array[ " < <i < < "]= " < <Array[i] < <endl;
}
do{
cout < < "请输入第几个开始! ";
cin> > beginc;
if(beginc> count) cout < < "你输入错误!\n ";
}while(beginc> count);
cout < < "Out:\t ";
while(count> 1)
{
erasec=(beginc+4)%count; //从第beginc个人开始数五个人
if(erasec==0) erasec=count; //不可能删除数组中第0个元素
cout < <Array[erasec-1] < < '\t ';
dele(Array,erasec);