有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数.c++大概怎样做我想的是整数不是字符n个整数是输入的,如果不确定怎样定义

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 02:04:37
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数.c++大概怎样做我想的是整数不是字符n个整数是输入的,如果不确定怎样定义

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数.c++大概怎样做我想的是整数不是字符n个整数是输入的,如果不确定怎样定义
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数.
c++大概怎样做
我想的是整数不是字符
n个整数是输入的,如果不确定怎样定义

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数.c++大概怎样做我想的是整数不是字符n个整数是输入的,如果不确定怎样定义
首先将数组的最后一个元素放入一个临时变量中,然后从最后一个元素开始依次复制前一个元素直到第二个元素将第一个元素复制完成之后,再将临时变量中的字符赋予第一个元素,重复这一些工作m次即可循环右移m个字符,程序如下:
//---------------------------------------------------------------------------
#include
#include
void proc(char a[],int n,int len) /*a是要移位的字符数组,n是要移动的位数,len是原字符数组的长度*/
{
int i,j;
char ch;
for (i = 0; i0 ; --j) a[j]=a[j-1];
a[0]=ch;
}
}
int main(void)
{
char s[]="network";
proc(s,4,strlen(s));
printf("%s\n",s);
return 0;
}
//---------------------------------------------------------------------------