数字换位问题

来源:百度知道 编辑:UC知道 时间:2024/07/03 03:46:07
数字换位问题

问题描述:一个整型数组data[m+n],要求将前m个数和后n个数位置调换,例如:当m=3 n=5时的数组:100 200 300 1 2 3 4 5 调换后成了:1 2 3 4 5 100 200 300。
要求:(1)从键盘输入m和n的值,并随机产生m个数和n个数; (2)输出原序列以及调换后的序列。

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void main()
{
int m,n;
scanf("%d%d",&m,&n);
int *data=(int*)malloc(sizeof(int)*(m+n));
int i;
srand((unsigned)time( NULL ));
for(i=0;i<m+n;i++)
{
*(data+i)=rand()%65536;
}
printf("原序列是:");
for(i=0;i<m+n;i++)
{
if(i%10==0)
printf("\n");
printf("%d ",*(data+i));
}
int *temp=(int*)malloc(sizeof(int)*(m+n));
for(i=0;i<m+n;i++)
{
*(temp+(i+m)%(m+n))=*(data+i);
}
printf("调换后的序列是:");
for(i=0;i<m+n;i++)
{
if(i%10==0)
printf("\n");
printf("%d ",*(temp+i));
}
}