题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2023-10-12 19:03:22

[简答题][函数2.1说明]
函数void find(int *a, int n, int * max, int * min)的功能是在长度为n的整型数组a中,查找最大元素和最小元素的下标。main( )中给出了调用find函数的一个实例。
[函数2.1]
#include<stdio.h>
void find(int *a, int n,int *max,int * min)
int i;
*max =* min=0;
for(i=1;i<n;i+ +)
if(a[i]>a[* max]) (1) ;
else if(a[i]<a[*min]) (2) ;
return;
main( )
int a[]=4,6,8,9,0,6,max,min;
find(a,6, (3) );
printf("%5d%5d/n", max,min);[函数2.2说明]
以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串前端的公共部分。例如:输入的两个字符串分别是abcdefg和abceef,则输出为abc。
[函数2.2]
#include <stdio.h>
main( )
char str1[100],str2[100],str[100],c;
int i=0,s;
printf("/nInput string 1:");gets(str1);
printf("/nInput string 2:");gets(str2);
while(( (4) )&&(str1[i]!=’/0’)&&(str2[i]!=’/0’))
(5) ;
i++;

printf("%s/n",str);

更多"[函数2.1说明] 函数void find(int *a, int "的相关试题:

[简答题]编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#define MAX 100
int fun(int lim, int se[MAX])

main( )

int limit,i,sum;
int aa[MAX];
clrscr( );
printf("输入一个整数");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)

if(i%10==0&&i!=0) /*每行输出10个数*/
printf("/n");
printf("%5d ",aa[i]);


[填空题]设int max(int,int)表示计算两个整数中的最大值,则执行语句“cout<<max(max(2,3),max(7,8));”的输出结果是()。
[填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。
[说明]
函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。
[C函数]
int psort(int a[],int n)
int i,J,k,P;
for(i=0,k=0;i< (1) ;i++)
for(j=i+1, (2) ;j<n; j++)
if(a[p]>a[j])
p=j;
if(p!=i)
t=a[p];
a[p]=a[i];
a[i]=t;

if( (3) ) k++;
else if( (4) <a[i])
(5) =a[i];

return k;

int a[]=5,7,5,6,4,3,4,6,7;
main( )
int k,n;
for(k=0;k<(Sizeof a)/Sizeof(int);k++)
printf("%5d",a[k]);
printf ("/n/n");
n=psort(a,(sizeof(a))/sizeof(int));
for(k=0;k<n;k++)
printf("%5d",a[k]);
printf("/n/n");

[填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。
[说明1]
函数int function(int a)的功能是判断指定的正整数是否为素数,若是,返回1,否则返回0。
[C函数1]
int function(int a)
{ int yes,i;
i=2;yes=1;
while(i<=a/2 && (1) ){
if( (2) ) yes=0;
i++;
}
return yes;
}
[说明2]
函数int deleteARR(int*arr,intn)的功能是指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。函数返回值是互不相同的元素个数。
[C函数2]
int deleteARR(int*arr,int n)
{ int k,j;
k=0;j=1;
while(j<n){
if( (3) )
(4) =arr[j];
j++;
}
return (5) ;
}
[填空题][说明]
本程序的函数sum(int,i int total,int sigma,int rear,int d[],int n)用来从已知数组d的前n个元素中找出所有部分元素序列之和等于total的元素序列,约定数组d的元素都是正整数,且都小于等于total。
函数sum使用递归方法找出全部解答。参数i表示递归函数当前考虑元素d[i],参数sigma是调用前已选取的部分序列的元素和,参数rear是后面还未考虑的那部分元素的元素和。
函数对元素d[i]有两种可能的选择方案:
(1)考虑元素d[i]被包含在新的部分元素序列中的可能性。如果在当前部分元素序列之后接上d[i],新序列的元素和不超过total,则函数将d[i]包含在当前部分元素序列中。如果新的部分元素序列的元素和等于total时,新的部分元素序列就是一个解答,函数将其输出;否则,若继续考虑后面的元素还有可能找到解答时,函数就递归去考虑后面的元素,寻找解答。最后,函数应恢复原来部分元素序列中不包含d[i]的状态。
(2)考虑元素d[i]不被包含在新的部分元素序列中的可能性。如果继续向d[i]之后考虑还是有希望能得到和为total的部分元素序列,函数将新序列不包含d[i也作为一种可能的选择,并递归去考虑后面的元素,寻找解答。
[程序1—7]
#include<stdio.h>
#define N 100
int a[N];
int fig[N];
sum(int i,im total,int sigma,int rear,int d[],int t)
int j;
/*考虑元素d[i]被包含在新的部分元素序列中的可能性*/
if(sigma+d[i]<=total) /*如果d[i]与当前序列的和不超过total*/
flg[i]=1; /*d[i]被考虑在当前部分元素序列中*/
if( (1) ==total)
/*输出解*/
for(j=0;flg[j]==0;j++);
printf("%4d=%d",total,d[j]);
for(j++;j<=i;j++)
if(flg
[填空题][函数2.1说明] 函数fun1 (int m, int k, int xx [])的功能是:将大于整数m且紧靠m的k个素数存入数组xx中传回。例如:若输入17,5,则应输出:19,23,29,31,37。 [函数2.1] fun1 (int m, int k, int xx [] ) { inti, j, s=0; for ( i=m+1; k>0; i++ ) {for (j=2; j<i; j++ ) if ( i %j=0 ) (1) if( i==j ) { (2) k--; } } } [函数2.2说明] 函数void fun 2 ( )的功能是:打印出杨辉三角形(要求打印出10行)。 [函数2.2] void fun2 ( ) { int i, j; int a[10][10]; printf ("/n" ); for (i=0; i<10; i++ {a [i] [0]=1; (3) ) for (i=2; i<l0; i++ ) for (j=1; j<i; j++) (4) for (i=0; i<10; i++ ) {for (j=0; j<=i; j++ ) (5) printf ( "/n" ); } }
[简答题]【说明】
请编写一个函数int SeqSearch(int list[],int start,int n,int key),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请修改程序中画线部分的错误并将不同情况下的输出结果补充完整。
【程序】
文件search.cpp的内容如下:
#include <iostream. h >
int SeqSearch( int list[ ] ,int start,int n,int key)

for(int i=start;i<=n;i++) //(1)

if( list[i] = key)//(2)

return i;


return -1;

void main( )

int A[10]
int key,count=0,pos;
cout <<" Enter a list of 10 integers:";
for(pos=0;pos<10;pos++)

cin >>A; //(3)

cout <<" Enter a key; ";
cin >> key;
pos=0;
while(( pos = SeqSearch ( A, pos, 10, key)) !=-1 )

count ++;
pos ++;

cout<<key<<"occurs" <<count<< (count!=1" times":" time") <<" in the list,"
<< endl;

第一种情况:输入2 3 12 6 8 45 8 33 7输入key:8
输出: (4)
第二种情况:输入2 3 126
[填空题][函数2.1说明]
函数fun1 (int m, int k, int xx [])的功能是:将大于整数m且紧靠m的k个素数存入数组xx中传回。例如:若输入17,5,则应输出:19,23,29,31,37。
[函数2.1]
fun1 (int m, int k, int xx [] )

inti, j, s=0;
for ( i=m+1; k>0; i++ )
for (j=2; j<i; j++ )
if ( i %j=0 )
(1)
if( i==j )

(2)
k--;


[函数2.2说明]
函数void fun 2 ( )的功能是:打印出杨辉三角形(要求打印出10行)。
[函数2.2]
void fun2 ( )

int i, j;
int a[10][10];
printf ("/n" );
for (i=0; i<10; i++
a [i] [0]=1;
(3) )
for (i=2; i<l0; i++ )
for (j=1; j<i; j++)
(4)
for (i=0; i<10; i++ )
for (j=0; j<=i; j++ )
(5)
printf ( "/n" );


[填空题]用指针法求出数组元素中最大者和最小者。
int max,min;
void max_min_value(array,n)
int array[],n;
【11】 ;
max=min=*array;
for( 【12】 ;p<array+n;p++)
if(*p>max) max=*p;
else if(*p<min)min=*p;

main( )
int i,number[20],*p;
p=number;
printf("输入20个数据:/n");
for(i=0;i<20;i++,p++) scanf("%d",p);
【13】 ;
max_min_value(p,10);
printf("max=%-10dmin=%d/n",max,rain);

[简答题]请编写一个函数printdate(int year,int month,int day),该函数实现将输入的3个数字转换成英语数字纪年输出的功能,如输入March9,1978,则输出1978 3 9。注意:使用switch结构实现该函数的基本功能并应该能够判断错误的输入。部分源程序已存在文件test40_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数printdate的花括号中填写若干语句。 源程序文件rest40_2.cpp清单如下: #include<iostream.h> void printdate(int year, int month, int day) { } void main( ) { printdate(1978,3,9); }
[填空题][函数2.1说明]
函数void sort(int arry[],int n)的功能是对数组a中的arry[0]~arry[n-1]这n个元素进行排序。排序过程如下:第一趟对所有的偶数下标x,比较arr[x]和arry [x+1],若arry[x]>arry[x+1],则将两者交换; 第二趟对所有的奇数下标y,比较arry[y]和arry[y+1],若arry[y]>arry[y+1],则将两者交换; 第三趟对偶数下标,第四趟对奇数下标,……,依次类推,直至整个数组元素有序排列为止。
[函数2.1]
void sort (int arry[],int n)
int i,j,tag=1;
for(j=0; j<n; j++)
for(i= (1) ;i<n-1; (2) )
if (arry [i] >arry [i+1])
t=arry [i] ;
arry [il =arry [i+1] ;
arry [i+1] =t ;
tag=0 ;


tag++;
if( (3) )break;


[函数2.2说明]
这是一棵二叉树排序查找元素的程序,查找的方法是:首先与树的根结点的元素进行比较,若相等则找到,返回此结点的地址; 若要查找的元素小于根结点的元素值,则指针指向此结点的左子树,继续查找; 若要查找的元素大于根结点的元素值,则指针指向此结点的右子树,继续查找。直到指针为空,表示此树中不存在所要查找的元素。本题使用递归方法实现。
[函数2.2]
typedef struct node
int data;
struct node *left;
struct node *right;
NODE;
NODE *SearchSortTree(NODE *tree,int e)
if (tree ! =NULL)
if (tree->data<e)
(4) ;
else if(tre

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

截图扫码使用小程序[完全免费查看答案]
请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码