设计程序,先将10个整数按从大到小排序,然后把一个整数按大小插入到已排序的数组中。10个整数通过数组初始化赋值给数组元素, 如 int a[11]={127,3,6,28,54,68,87,105,162,18}; 将29插入数组中。 输入格式: “%d” 输出格式: "%4d" 输入样例: 29 输出样例: 162 127 105 87 68 54 28 18 6 3 162 127 105 87 68 54 29 28 18 6 3
第1题:
阅读以下说明和C++程序,将应填(n)处的字句写在对应栏内。
[说明]
设计一程序,输入10个整数到一个数组中,调整这10个数在数组中的位置,使得其中最小的一个数成为数组的首元素,最大的一个数成为数组的末元素。
[C++程序]
include <iostream.h>
define SIZE 10
void main ( )
{
int data [SIZE];
int m;
cout<<"请输入"<<SIZE<<"个整数:";
for ( m=0;m<SIZE; m++ ) (1);
int j=0,k=0;
for ( int i=1;i<SIZE; i++ )
if ((2)) j=i;
else if ( data[i]<data[k] ) (3);
if (j>0 ) {
int d=data[0];
(4);
data[k]=d;
}
if ( k<SIZE-1 )
{
int d=data [SIZE- 1 ];
data[SIZE- 1 ]=data[j];
(5);
}
cout<<end1<<" 排序后: ";
for ( m=0;m<SIZE; m++ ) cout<<data[m]<<" " ;
}
第2题:
插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。InsertSort类的成员函数sort()实现了插入排序算法。请将画线处缺失的部分补充完整。
class InsertSort{
public:
InsertSort(int* a0,int n0):a(a0),n(n0){}//参数a0是某数组首地址,n是数组元素个数
void sort()
{//此函数假设已排序序列初始化状态只包含a[0],未排序序列初始为a[1]…a[n-1]
for(int i=1;i<n;++i){
int t=a[i];
int j;
for(【 】;j>0;--j){
if(t>=a[j-1])break;
a[j]=a[j-1];}
a[j]==t;}}
protected:
int*a,n;//指针a用于存放数组首地址,n用于存放数组元素个数
};
第3题:
有一组无序排列的整数数组如{1,5,7,9,2} 通过算法实现对该数组按从大到小的顺序进行排序,输出排序后的结果同时输入原始数组的数组索引下标,如输出排序结果为{9,7,5,2,1},输出原始数组索引下标为{3,2,1,4,0}。
第4题:
采用插入排序算法对n个整数排序,其基本思想是:在插入第i个整数时,前i一1
个整数已经排好序,将第i个整数依次和第i.,i-2,…个整数进行比较,找到应该插入
的位置。现采用插入排序算法对6个整数{5 2,4,6,1,3}进行从小到大排序,则需要进行
(31)次整数之间的比较。对于该排序算法,输入数据具有(32)特点时,对整数进
行从小到大排序,所需的比较次数最多。
A.9
B.10
C.12
D.13
(32)A.从小到大
B.从大到小
C.所有元素相同
D.随机分布
请帮忙给出每个问题的正确答案和分析,谢谢!
第5题:
试题14
以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。
#include <stdio.h>
void fun(int s[], int *n, int k, int x)
{ int i;
for(i=*n-1; i>=k; i- - ) s[ ___ ]=s[i];
s[k]=x;
*n=*n+______;
}
main()
{ int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11;
fun(a, &n, k, x);
for(i=0; i<n; i++) printf(“%4d”,a[i]); printf(“\n”);
}
第6题:
第7题:
编程:用键盘输入整数给一个2×3的2维数组各元素赋值,并输出全部元素的值。
第8题:
数组中有30个元素,若使用直接插入排序对其进行排序,则需要()趟才能完成排序。
第9题:
编一个程序,输入一个正整数n,把它转换为二进制数,并输出。提示:应该利用数组。
第10题:
编程序:从键盘输入10个整数置入数组a,求数组a中所有偶数之和。
第11题:
第12题:
29
30
28
27
第13题:
下列描述中不正确的是_______。
A.字符型数组中可以存放字符串
B.可以对字符型数组进行整体输入、输出
C.可以对整型数组进行整体输入、输出
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
第14题:
阅读以下说明和流程图,填补流程图中的空缺(1)~(9),将解答填入对应栏内。
【说明】
假设数组A中的各元素A(1),A(2),…,A(M)已经按从小到大排序(M≥1);数组B中的各元素B(1),B(2),…,B(N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素:2,5, 6,7,9;数组B中有元素2,3,4,7:则数组C中将有元素:2,2,3,4,5,6,7, 7, 9。
【流程图】
第15题:
程序test.c的功能是:将大于整数m且紧靠m的k个素数存入数组XX。请考生编写函数num(intm,intk,intxx[])实现程序的要求,最后调用函数readwriteDAT0把结果输出到0ut.dat文件中。 例如,若输入17,5,则应输出:19,23,29,31,37。
第16题:
试题一(共 15 分)
阅读以下说明和流程图,填补流程图中的空缺(1)~(9) ,将解答填入答题纸的对应栏内。
[说明]
假设数组 A 中的各元素 A(1),A(2) ,…,A(M)已经按从小到大排序(M≥1) ;数组 B 中的各元素 B(1),B(2),…,B(N)也已经按从小到大排序(N≥1) 。执行下面的流程图后, 可以将数组 A 与数组 B 中所有的元素全都存入数组 C 中, 且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序) 。例如,设数组 A 中有元素:2,5,6,7,9;数组B 中有元素:2,3,4,7;则数组 C 中将有元素:2,2,3,4,5,6,7,7,9。
[流程图]
第17题:
第18题:
第19题:
编一个程序,输入一个字符串,用ToCharArray()方法把字符串中的内容拷贝到字符数组中,然后用foreach输出该字符数组。
第20题:
定义整数一维数组inta[5]={1,2,3}则数组a的元素个数是()
第21题:
冒泡排序算法中降序排序指的是()
第22题:
第23题:
第24题: