首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数
admin
2020-06-02
50
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数组的最后。
例如,一维数组中的原始内容为:1、2、3、4、5、6、7、8、9、10;p的值为3。移动后,一维数组中的内容应为:5、6、7、8、9、10、1、2、3、4。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 80
void fun(int*w,int p,int n)
{
}
main()
{ int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,1 3,14,15);
int i,p,n=15;
printf("The original data:\n");
for(i=0;i<n;i++)
printf("%3d",a
);
printf("\n\nEnter p:");
scanf("%d",&p);
fun(a,p,n);
printf("\nThe data after moving:\n");
for(i=0;i<n;i++)
printf("%3 d",a
);
printf("\n\n");
}
选项
答案
void fun(int*w,int p,int n) { int x,j,ch; for(x=0;x<=p;x++) { ch=w[0]; for(j=1;j<n;j++)/*通过for循环语句,将p+1到n-1(含n-1)之间的数细元素依次向前移动p+1个存储单元*/ { w[j-1]=w[j]; } w[n-1]=ch;/*将0到p个数组元素逐一赋给数组w[n-1]*/ } }
解析
本题要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数组的最后,可以根据输入的p值,通过for循环语句,将p+1-n-1(含n-1)之间的数组元素依次向前移动p+1个存储单元,即w[j-1]=w[j];,同时将0~p个数组元素逐一赋给数组w[n-1],也就是通过语句w[n-1]=ch;来实现此操作的。
转载请注明原文地址:https://www.kaotiyun.com/show/8lCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下说明和定义uniondt{inta;charb;doublec;}data;以下叙述中错误的是
下面叙述中错误的是
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是
以下选项中不能用作C程序合法常量的是
有以下程序,程序运行后的输出结果是#include#includemain(){int*a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3
以下函数按每行8个输出数组中的数据:voidfun(int*w,intn){inti;for(i=0;i
有下列程序:voidf(int*q)main(){inti=0;{inta[5]={1,2,3,4,5},i;for(;i
有以下程序voidfun(intn,int*s){intf;if(n==-i)*s=n+1;else{fun(n-1,&f);*s=f;}}main(){intx=0;fun(4
有以下程序intfun1(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=fun1(x);b=fun1(y);return(i
以下叙述中错误的是
随机试题
在精馏操作中,严重的雾沫夹带将导致塔压的增大。 ()
表示自动曝光控制的英文缩写是
口呼吸最易引发的牙龈炎是
患者,男,20岁。肌注青霉素后突然晕倒,血压测不到。应首先采取的抢救措施是
患者女,45岁,清洁工,患尿毒症入院。入院后家属一直陪伴身边,当得知需要长期透析治疗后,患者经常独自垂泪,默默发呆,不愿与人交流,最可能的原因是()
下列项目中,( )不用于表示盈亏平衡点。
下列不属于注册会计师承办的法定业务的是()
下列各项中,有关汇票与支票相互区别的表述中正确的有( )。
罗杰斯的“以学生为本”“让学生自发学习”“排除对学习者自身的威胁"的教学原则属于()。
BSP方法的产品/服务的过程定义步骤分成4步,下列()是对过程的总体描述。
最新回复
(
0
)