帮我做道C语言题目,实在想不出来了,谢谢~!~!
编写函数,对具有10个整数的数组进行如下操作;从第n个元素开始直到最后一个元素,依次向前移动一个位置.输出移动后的结果~!...
编写函数,对具有10个整数的数组进行如下操作;从第n个元素开始直到最后一个元素,依次向前移动一个位置.输出移动后的结果~!
展开
2个回答
展开全部
这位兄弟,关健的部分是在一个数组用做一个自定义函数的形参,在MAIN函数中你把一组数给一个数组,数组是自定义函数的实参,在自定义函数调用这个实参,接下来位置的移动你该知道了吧,就像上位那兄弟说的也可以呀,不过要注意交换的顺序,
这问题问的知识点就是:数组名可以作函数参数,我也做过这样类似的问题。
以下给出一个例子就是你所做的题:
#include"stdio.h"
int chang(int a[11],int n)
{
int i=10;
for(i=10;i>=n;i--)
a[i+1]=a[i];
for(i=0;i<=10;i++)
printf("%4d",a[i]);
}
void main()
{
int m;
int a[11]={1,2,3,4,5,6,7,8,9,10};
int chang(int a[11],int n);
scanf("%d",&m);
chang(a,m);
}
结果:
3 回车
1 2 3 4 4 5 6 7 8 9 10 (结果)
注:a[0]开始的下标是:
以上在TC2中验证过
本人也正在学C语言。有事多交流:QQ:379474794
这问题问的知识点就是:数组名可以作函数参数,我也做过这样类似的问题。
以下给出一个例子就是你所做的题:
#include"stdio.h"
int chang(int a[11],int n)
{
int i=10;
for(i=10;i>=n;i--)
a[i+1]=a[i];
for(i=0;i<=10;i++)
printf("%4d",a[i]);
}
void main()
{
int m;
int a[11]={1,2,3,4,5,6,7,8,9,10};
int chang(int a[11],int n);
scanf("%d",&m);
chang(a,m);
}
结果:
3 回车
1 2 3 4 4 5 6 7 8 9 10 (结果)
注:a[0]开始的下标是:
以上在TC2中验证过
本人也正在学C语言。有事多交流:QQ:379474794
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询