请教是在哪里出问题了。
#include<stdio.h>#define N 100
void fun(int str[N],int p,int n);
int main(void)
{
int n,p,i,temp;
int str[N];
int str1[N];
printf("输入你要输入的n和p的值(p<=n-1):");
scanf("%d%d",&n,&p);
printf("输入n个整数:");
for(i=0;i<=n-1;i++)
{
scanf("%d",temp);
str[i]=temp;
}
fun(str,p,n);
return 0;
}
void fun(int str[N],int p,int n)
{
int i;
int str1[N];
for(i=0;i<=p;i++)
{
str1[i]=str[i+n-p-1];
}
for(i=p+1;i<=n-1;i++)
{
str1[i]=str[i-p-1];
}
printf("重整后的数组为:");
for(i=0;i<=n-1;i++)
printf("%3d",str1[i]);
}
题目的意思大致是假设有1 2 3 4 5 6 7 8 9 10,十个数,输入p=3,则交换位置,变为5 6 7 8 9 10 1 2 3 4