首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~P(含P,P小于等于n—1)的数组元素平移到数组的最后。 例如,一维数组中的原始内容为:1、2、3、4、5、6、7、8、9、10;P的值为3。移动后,一维数组中的内容应为
请编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~P(含P,P小于等于n—1)的数组元素平移到数组的最后。 例如,一维数组中的原始内容为:1、2、3、4、5、6、7、8、9、10;P的值为3。移动后,一维数组中的内容应为
admin
2017-02-24
68
问题
请编写函数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,1 0,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 mouing:\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—l(含n—1)之间的数组元素依次向前移动p+1个存储单元,即w[j一1]=w[j];,同时将0~p个数组元素逐一赋给数组w[n—1],也就是通过语句w[n一1]=ch;来实现此操作的。
转载请注明原文地址:https://kaotiyun.com/show/UMDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的运行结果是______。#include<stdio.h>intf(inta[],intn){if(n>1)returna[0]+f(a+1,n-1);elsereturna[0];}main(){intaa[10]=
在数据库系统中,实现各种数据管理功能的核心软件称为______。
下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;<n;j++)i
下列程序的运行结果为()。#include<stdio.h>voidabc(char*str){inta,b,i,j;for(i=j=0;str[i]!=’\0’;i++)if(str[i]!=’a’)str[j++]=str[j];
若执行下列程序时从键盘上输入2,则输出结果是()。#inclUde<stdio.h>main(){inta;scanf("%d",&A);if(a++<3)printf("%d\n",A);elseprintf("%d\n",a-
已有定义:charc=′′;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。
对下述程序的判断中,正确的是#includevoidmain(){char*p,s[128];p=s;while(strcmp(s,"End")){printf("Inputastring:");gets(s);w
若有以下函数首部intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是
设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是
随机试题
A.大量腹水时肝、脾触诊B.胃肠病变C.阑尾压痛点D.肝、脾E.关节双手触诊适用于()
心力衰竭时,心脏的主要血流动力学改变是________和________。
下列哪一项为关节松动术的禁忌证
有关心电图的临床应用不正确的是
夏女士,初孕妇,末次月经不详,检查发现子宫底在脐上1横指,胎心140次/分。该孕妇可能的孕周是
既可对已发生的,又可对尚未发生或正在发生的经济活动进行核算的是( ),它包括原始记录和计算登记表。
根据《民法通则》的规定,民事法律行为的实质要件是:行为人()。
甲公司2019年实现利润总额4000万元,当年度发生的部分交易或事项如下:(1)自3月1日起自行研发一项新技术,2019年以银行存款支付研发支出共计800万元,其中研究阶段支出200万元,开发阶段符合资本化条件前支出100万元,符合资本化条件后支出500
某汉字的区位码是5448,它的机内码是
在巴林首都举行的第42届世界遗产大会上,中国西南部贵州省的梵净山被联合国教科文组织列入世界遗产名录。梵净山被誉为贵州第一山,系武陵山脉的最高峰,位于贵州省铜仁市下辖的江口、印江、松桃三县交界处。它的最高峰凤凰山海拔2572米,站在山顶80多米高的
最新回复
(
0
)