C语言——(使用指针)有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数。

新人小白一个
用的是vs2019编译器
scanf_s==scanf哦
求三连啊~~~
(。・ω・。)ノ♡

#include <stdio.h>
void abb(int* p, int n)
{
	int brr[100];
	int m, a, b = 0, c, d;
	printf("请输入m的值:");
	scanf_s("%d", &m);
	for (a = n - m; a <= n; a++)
	{
		brr[b] = *(p + a);
		b++;
	}
	for (c = n - m; c >= 0; c--)
	{
		*(p + c + m) = *(p + c);
	}
	for (d = 0; d <= m - 1; d++)
		*(p + d) = brr[d];
}
int main()
{
	int n, i;
	int arr[100];
	printf("请输入n的值:");
	scanf_s("%d", &n);
	printf("请输入%d个整数:", n);
	for (i = 0; i <= n - 1; i++)
		scanf_s("%d", &arr[i]);
	abb(arr, n);
	for (i = 0; i <= n - 1; i++)
		printf("%d ", arr[i]);
	return 0;
}


 

上一篇:关于读入一行字符数组且其中包含空格的解决方案


下一篇:打印三角形