首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
2021-02-25
49
问题
使用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 N80
void fun(int*w,int p,int n)
{
}
main()
{int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,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("%3d",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://kaotiyun.com/show/fbtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下程序#includemain(){ints=0,n;for(n=0;n<4;n++){switch(n){default:s+=4;case1:s+=1;case2:s+=2;case3
若有以下程序#includevoidsp(int*a){intb=2;main(){intk=3,*p=&k;a=&b;sp(p);*a=*a*2;printf("%d,%d
以下fun函数返回数组中最大值的下标#includeintfun(int*s,intn){inti,k;for(i=0,k=i;i
以下关于结构化程序设计的叙述中正确的是
以下选项中能表示合法常量的是()。
下面叙述中错误的是()。
设有如下程序段:#include<stdio.h>chars[20]="Beijing",*P;P=S:则执行p=S;语句后,以下叙述中正确的是()。
下面不能作为结构化方法软件需求分析工具的是()。
某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)()。
一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
随机试题
下列选项中,不属于计划特点的是()
县级农村土地调查主要分为准备阶段、权属调查阶段、()等。
(账套:107;操作日期:2013年1月1日)增加操作员。编号:34姓名:秦明口令:34所属部门:销售部
期末无余额的账户,应在“借”或“贷”栏内()。
基金管理人职责终止的情形有()。
下列哪项不是无氧耐力的训练方法?()
下列关于二十四节气说法错误的是()。
在中国古代四大发明向西方传播的过程中,贡献最大的是()。
在边长为R的正六边形内,依次连接各边的中点得一个正六边形,又在这个所得正六边形内,再依次连接各边的中点得一个正六边形,……,这样无限地继续下去,设前n个正六边形的边长之和为S。所有这些正六边形的边长之和S,则S的值为
下列关于Windows2003系统下DNS服务器的描述中,正确的是()。
最新回复
(
0
)