求大神写一串C语言代码,作业,急急急!!!!!
定义函数voidmove(int*p,intn,intm),函数功能为:有n个整数(不超过15),使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。要求在主函数中...
定义函数void move(int *p,int n,intm),函数功能为:有n个整数(不超过15),使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。要求在主函数中确定整数个数n并输入,确定移动位置m,然后调用函数实现整数的移动。
展开
1个回答
展开全部
#include<stdio.h>
#include<malloc.h>
void move(int *p, int n, int m)
{
for(int i = 0; i < n - m; i++)
{
int pianliang = n - m;
int temp = *(p + m + i);
*(p + m + i) = *(p + i);
*(p + i) = temp;
}
}
int main(void)
{
int n = 0;
printf("请输入您需要输入的数字个数\n");
scanf("%d", &n);
printf("请输入%d个整数并以,分割\n", n);
int* p = (int*)malloc(sizeof(int) * n);
for(int i = 0; i < n; i++)
{
scanf("%d", p + i);
getchar();
}
printf("您输入的数字分别为\n");
for(i = 0; i < n; i++)
{
printf("%d ", *(p + i));
}
int m = 0;
printf("\n\n请输入您需要往后移动的数字\n");
scanf("%d", &m);
move(p, n, m);
printf("\n\n移动以后的数字分别为\n");
for(i = 0; i < n; i++)
{
printf("%d ", *(p + i));
}
return 0;
}
老了啊,代码要写好久才能写出来
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询