PTA(C语言):字符数组后移

题目

定义函数,将字符串循环右移n个字符,例如abcde循环右移两位:deabc

函数接口定义:

void fun(char *str,int n)

裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:

#include 

void  fun(char *str,int n);

    int main()
{

  char s[20];
    int n;
  scanf("%s%d", s,&n);
 fun(s,n);
  printf("%s", s);

  return 0;

}

/* 请在这里填写答案 */

样例

输入样例:
在这里给出一组输入。例如:

abcdef 2
输出样例:
在这里给出相应的输出。例如:

efabcd

C语言解答

void fun(char *str,int n){
    int len=strlen(str);
    n=n%len;
    char tmp[len];
    strcpy(tmp,str);
    int i;
    for(i=0;i<len;i++){
        str[i]=tmp[(i+n*n)%len];
    }
}

你可能感兴趣的:(c语言,算法,开发语言)