33,311
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
int *p;
void P(int *x)
{
int m,n,t;
printf(" ");
scanf("%d%d",&m,&n);
t=*(x+m);
*(x+m)=*(x+n);
*(x+n)=t;
}
void R(int *x,int y)
{
for(int i=0;i<y/2;i++)
*(x+i)=*(x-y-i);
}
void D(int *x,int y)
{
int t;
printf(" ");
scanf("%d",&t);
for(int i=0;i<y;i++)
*(x+i)=*(x+i)/t;
}
void M(int *x,int y)
{
int t;
printf(" ");
scanf("%d",&t);
for(int i=0;i<y;i++)
*(x+i)=*(x+i)*t;
}
void S(int *x,int y)
{
int t;
printf(" ");
scanf("%d",&t);
for(int i=0;i<y;i++)
*(x+i)=*(x+i)+t;
}
void caozuo(int *x,int y)
{
char a;
scanf("%c",&a);
switch(a)
{
case 'S':S(x,y);break;
case 'M':M(x,y);break;
case 'D':D(x,y);break;
case 'R':R(x,y);break;
case 'P':P(x);break;
}
}
int main()
{
int n,m;
scanf("%d%d",&n,&m);
printf("\n");
p = (int *)malloc(sizeof(int) * n);
if (!p)
return -1;
for(int i=0;i<n;i++)
scanf("%d",p+n);
getchar();
printf("\n");
for(int j=0;j<m;j++)
caozuo(p,n);
for(int l=0;l<n;l++)
printf("%d ", *(p+l));
free(p);
return 0;
}