C语言编程。急急急,谢谢

一维数组中的最后n个元素调到数组的最前面,前后两部分元素的相对次序保持不变。例如:原数组为{1,2,3,4,,5,6,7,8,9,10},将最后3个元素调换到最前面后数组变为{8,9,10,1,2,3,4,,5,6,7}。
[编程要求]
1.一维原数组从键盘输入;
2.void swap(int a[],n); 实现数组a中n个元素调换。
3.调换后的数据按每行5个数的形式在屏幕显示且写入文件myf2.txt。

#include <stdio.h>
#include <stdlib.h>

void swap(int a[], int n, int m) 
{
int i = 0;
int t = 0;
if(n>m)
{
n=m;
}
for(i=0; i<n; i++)
{
t = a[i];
a[i] = a[m-n+i];
a[m-n+i] = t;
}
for(i=0; i<m; i++)
printf("%d\n",a[i]);
}

int main()
{
        int i = 0;
int n = 3;
int m = 9;//数组大小
/*
for(i=0; i<m; i++)
{
    scanf("%d",&a[i]);
}
*/
int a[] = {1,2,3,4,5,6,7,8,9};


swap(a,n,m);

return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答