重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 大学本科
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

设计一个程序,将存放在一维整型数组中的负整数都移至数组的开始位置。例如:若原数组中的数据存放

顺序为: 2 -3 4 -2 5 7 ,则移动后数组中的数据存放顺序为: -2 -3 2 4 5 7 或 -3 -2 2 4 5 7 。 要求: 利用指针来操作一维数组元素,包括:通过指针来寻找负整数,以及通过指针来移动数组元素的位置。 提示: 当找到一个负整数时,可以先将从开始位置至该负整数之前的元素整体向右移动一个位置,然后将该负整数直接放在数组的开始位置

答案
#include using namespace std; const int N = 6; int main() { int a[N] = {2, -3, 4, -2, 5, 7}; int *p = a; // 指针p指向数组a的开始位置 cout<<"原始顺序: "; for(int i=0; ia; --q) // p之前的元素整体右移一位 *q = *(q-1); *a = tmp; // 把负数置于数组开始位置 } } cout<<"移动后顺序: "; for(p=a; p
更多“设计一个程序,将存放在一维整型数组中的负整数都移至数组的开始位置。例如:若原数组中的数据存放”相关的问题

第1题

定义一个长度为10的一维整型数组M,并且要求分别给数组元素赋值为M (K)=K+1,但M(10)=1。下列各程序段中错误的是( )。

A.DIMENSION M(10) M(10)=1 DO 10 K=1,10 10 M(K)=K+1

B.DIMENSION M(10) M(10)=1 DO 10 K=1,9 10 M(K)=K+1

C.DIMENSION M(10) M(10)=1 DO 10 K=2,10 10 M(K-1) =K

D.DIMENSION M(10) DO 10 K=1,10 10 M(K)=K+1 M(10)=1

点击查看答案

第2题

本题中定义了长度为20的一维整型数组a,并将数组元素的下标值赋给数组元素,最后打印输出数组中下标为奇数的元素。 public class javal{ public static void main(String[]args){ int a[]= ; int i; for( ;i++) a[i]=i; for(i=0;i<20;i++){ if( ) System.OUt.print("a[It+i+"]="+a[i]+","); } } }

点击查看答案

第3题

定义一个4个元素的一维整型数组,()是不正确的。

A、inta[4]

B、inta[4]={1,2,3,4,5}

C、int a[4]={1,2,3}

D、int a[4]={1}

点击查看答案

第4题

设将n(n>1)个整数存放到一维数组R中。试设计一个在时间和空间两方面都尽可能高效的算法,将R中保存的序列循环左移P(0<00,X1,…,Xn-1)变换为(XP2,XP+1,…,Xn-1,X0,X1,…,XP-1)。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采

点击查看答案

第5题

阅读下列函数说明、图和C代码,回答问题

[说明]

假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:

m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2]

其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数、1表示负数。

运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。

[函数]

int cmp(int *LA, int *LB);

/*比较长整数LA与LB的绝对值大小*/

/*若LA绝对值较大返回正值,LA较小返回负值,相等则返回0*/

int ADD (int *LA, int *LB, int *LC)

/*计算长整数LA与LB的和,结果存储于LC中*/

/*注意:正数与负数的和相当于正数与负数绝对值的差*/

/*数据有误返回0,正常返回1*/

{

if(LA == NULL || LB == NULL || LC == NULL)return 0;

int *pA, *pB, i, N, carry, flag;

flag = LA[0] + LB[0];

switch(flag){ /*根据参与运算的两个数的符号进行不同的操作*/

case 0:

case 2:

Lc[0] = LA[0];/*LA与LB同号,结果符号与LA(LB)相同*/

pA = LA;

pB = LB;

(1) ;

break;

case 1: /*LA与LB异号*/

/*比较两者的绝对值大小,结果符号与较大者相同*/

flag = (2) ;

if(flag > 0){ /*LA较大*/

LC[0] = LA[0];

pA = LA;

pB = LB;

}

else if(flag < 0)(/*LB较大*/

LC[0] = LB[0];

pA = LB;

pB = LA;

}

else{/*LA与LB相等*/

LC[0] = 0;

LC[1] = 0;

return 1;

}

flag = -1;

break;

default:

return 0;

break;

}/*switch*/

/*绝对值相加减*/

/*注意对于减法pA指向较大数,pB指向较小数,不可能出现不够减情况*/

(3) ;

N = LA[1] > LB[1] ? LA[1] : LB[1];

for(i = 0; i < N; i++){

if(i >= pA[1]){/*LA计算完毕*/

carry += flag * pB[i+2];

}

else if(i >= pB[1]){/*LB计算完毕*/

carry += pA[i+2];

}

else{

carry += pA[i+2] + flag * pB[i+2];

}

LC[i+2] = carry % 10;

carry /= 10;

if( (4) ){/*需要借位,针对减法*/

LC[i+2] += 10;

carry--;

}

}/*for*/

if( (5) ){/*最高进位,针对加法*/

LC[i+2] = carry;

i++;

}

if(LC[i+1] == 0) i--; /*若最高位为零,针对减法*/

LC[1] = i;

return 1;

};/*ADD*/

点击查看答案

第6题

(13分)设将n(n,1)个整数存放到一维数组R中,试设计一个在时间和空间两方面尽可能有效的算法,将R中保有的序列循环左移P(0﹤P﹤n)个位置,即将R中的数据由(X0 X1 ……Xn-1)变换为(Xp Xp+1 ……Xn-1 X0 X1 ……Xp-1)要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或JAVA语言表述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度

点击查看答案

第7题

数组中的元素有正整数或负整数。设计一个算法,将正整数和负整数分开,使数组的前一半为负整数,后一半为正整数。不要求对这些元素排序,要求尽量减少交换次数。
点击查看答案

第8题

在C语言中对一维整型数组的正确定义为()。
A.inta(10);

B.intn=10,a[n];

C.intn;a[n];

D.#defineN10inta[N];

点击查看答案

第9题

寻找最大数 题目内容: 主函数定义一个长度为5的整型一维数组,编写一个函数实现求此一维数组的最大值。函数 原型:int max(int a[], int n); 功能是返回长度为n的数组a中最大的一个数。 输入格式: 5个整数 输出格式: Th..

寻找最大数 题目内容: 主函数定义一个长度为5的整型一维数组,编写一个函数实现求此一维数组的最大值。函数 原型:int max(int a[], int n); 功能是返回长度为n的数组a中最大的一个数。 输入格式: 5个整数 输出格式: "The result is %d\n" 输入样例1: 12 6 18 9 4↙ 输出样例1: The_result_is_18 输入样例2: 9 7 -2 3 4↙ 输出样例2: The_result_is_9

点击查看答案

第10题

语句Dim A%(10),B!(10,5)定义了两个数组,其类型分别为()。

A.一维实型数组和二维整型数组

B.一维整型数组和二维单精度数组

C.一维整型数组和二维长整型数组

D.一维整型数组和二维双精度型数组

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案