數組轉置題,隻要把握好轉置函數就可以,注意臨界條件。然後就是不要多輸出空格。
1 #include<stdio.h>
2 #include<string.h>
3 int s[100010];
4 void Rev(int s[],int a,int b)
5 {
6 int t,i,j;
7 for(i=a-1,j=b-1;i<=(b+a-2)/2;i++,j--)
8 {
9 t=s[i];
10 s[i]=s[j];
11 s[j]=t;
12 }
13 }
14 int main()
15 {
16 int i,j,a,b,T,n,m;
17 scanf("%d",&T);
18 while(T--)
19 {
20 scanf("%d%d",&n,&m);
21
22 for(i=0;i<n;i++)
23 s[i]=i+1;
24 for(j=1;j<=m;j++)
25 {
26 scanf("%d%d",&a,&b);
27 Rev(s,a,b);
28 }
29 printf("%d",s[0]);
30 for(i=1;i<n;i++)
31 printf(" %d",s[i]);
32 printf("\n");
33 }
34 return 0;
35 }
轉載于:https://www.cnblogs.com/hjf007/p/3250518.html