网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
单选题
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#define MIN -2147483647int fingmax (int x[],int n){ int i,max; for(i=0;i
A
定义语句int i,max;中,max未赋初值
B
赋值语句max=MIN;中,不应给max赋MIN值
C
语句if(max<x[i])max=x[i];中,判断条件设置错误
D
赋值语句max=MIN;放错了位置
参考答案
参考解析
解析:
本题中for循环中首先将MIN值赋值给max,然后用x[i]与max的值比较。每次都是将MIN值与x[i]值进行比较,所以无论x[i]的值是什么,都不会影响if的判断语句,max=x[i]始终执行。所以函数返回的是数组中最后一个元素的值。程序的错误在于max=MIN的位置,for循环之前应先执行max=MIN。所以答案选择D选项。
本题中for循环中首先将MIN值赋值给max,然后用x[i]与max的值比较。每次都是将MIN值与x[i]值进行比较,所以无论x[i]的值是什么,都不会影响if的判断语句,max=x[i]始终执行。所以函数返回的是数组中最后一个元素的值。程序的错误在于max=MIN的位置,for循环之前应先执行max=MIN。所以答案选择D选项。
更多 “单选题以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#define MIN -2147483647int fingmax (int x[],int n){ int i,max; for(i=0;i A 定义语句int i,max;中,max未赋初值B 赋值语句max=MIN;中,不应给max赋MIN值C 语句if(maxx[i])max=x[i];中,判断条件设置错误D 赋值语句max=MIN;放错了位置” 相关考题
考题
●试题四【说明】下面程序的功能是:在含有10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可能不止一个。例如:若输入2857848328则应输出The max:8Total:4∥最大数出现次数The positions:1469【函数】#includestdio.h#define M 10int fun(int*a,int*n,int pos[]){int i,k max=-32767;(1)for(i=0;iM;i++)if( (2) )max=a[i];for(i=0;iM;i++)if( (3) )pos[k++]=i;*n=k;return max;}main(){int a[M],pos[M],i=0,j,n;printf("Enter 10 number:");for(i=0;i<M;i++)scanf("%d", (4) );j=fun( (5) );printf("The max:%d\n",j);printf("Total:%d",n);printf("The position:");for(i=0;i<n;i++)printf("%4d",pos[i]);printf("\n");}
考题
以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回 , 但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max;for(i=0;in;i++){ max=MIN;if(maxx[i]) max=x[i];}return max;}造成错误的原因是A) 定义语句 int i,max; 中 max 未赋初值B) 赋值语句 max=MIN; 中,不应给 max 赋 MIN 值C) 语句 if(maxx[i]) max=x[i]; 中判断条件设置错误D) 赋值语句 max=MIN; 放错了位置
考题
以下程序中的select()函数功能是:在N行M列的二维数组中选出一个最大值作为函数值返回,并通过形参传回此最大值的行下标。请填空完成此程序。include<iostream>define N 3define M 3using namespace std;int select(int a[N][M],int *n){int i,j,row=0,colum=0;for(i=0;i<N;i++)for(i=0;j<M;j++)if(a[i][j]>a[row][colum]){row=i;colum=j;}*n=【 】;return 【 】;}int main(){int a[N][M]={9,11,23,6,1,15,9,17,20};int max,n;max=select(a,n);cout<<"max="<<max<<"line="<<n<<end1;return 0;}
考题
以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#define N 3#define M 3select(int a[N][M],int *n){int i,j,row=1,colum=1;for(i=0;ifor(j=0;jif(a[i][j]a[row][colum]){row=i;colum=j;}*n= 【16】 ;return 【17】 ;}main(){int a[N][M]={9,11,23,6,1,15,9,17,20},max,n;max=select(a,n);printf("max=%d,line=%d\n",max,n);}
考题
试题二下面程序中函数fun的功能是:在含有10 个元素的s数组中查找最大数,及最大数所在位置(即,下标值),最大数可能不止一个。最大数作为函数值返回,最大数的个数通过指针变量n传回,所在位置由数组pos传回。例如:若输入 2 8 5 7 8 4 5 3 2 8则应输出:The max: 8Total: 3 //最大数出现次数The positions: 1 4 9请补充下列空缺:includestdio.hincludeconio.hdefine M 10int fun(int *a, int *n, int pos[]){int i, k,max=-32767;(1)for(i=0; iM; i++)if( (2) ) max=a[i];for(i=0; iM; i++)if( (3) )pos[k++]=i;*n=k;return max;}main(){int a[M], pos[M], i=0, j, n;clrscr();printf(Enter 10 number :);for(i=0; iM; i++)scanf(%d, (4));j=fun( (5) );printf(The max: %d\n, j);printf(Total: %d,n);printf(The position:);for(i=0; in; i++ ) printf(%4d, pos[i]);printf(\n);}
考题
下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。请填空。#includestdlib.h#includestdio.hvoid fun(int a[],int n, int *max, int *d){ int i;*max=a[0];*d=0;for(i=0;【15】;i++)if(*max【16】){*max=a[i];*d=i;}}main(){ int i, x[20], max, index, n=10;randomize();for(i=0;in;i++){x[i]=rand()%50; printf("%4d",x[i]);}printf("\n");fun(x,n,max,index);printf("Max=%5d,Index=%4d\n",max,index);}
考题
请补充函数fun(),该函数的功能是;交换数组aa中最大和最小两个元素的位置,结果依然保存在原数组中,其它元素位置不变。注意数组aa中没有相同元素。例如,输入“33,67,42,58,25,76,85,16,41, 56”,则输出“33,67,42,58,25,76,16,85,41,56”。注意;部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio. h>define N 10void fun(int aa[]){int i, j, t;int max=0, min=0;for(i=0; i<N; i++){if(【 】)max=i;if(【 】)min=i;}t=aa [max];【 】;aa [min] =t;}main(){int i;int aa [N] ={33, 67, 42,58,25, 76, 85,16, 41, 56};clrscr ();printf("\n*** original list ***\n");for(i=0; i<N; i++)printf ("%4d", aa [i] );fun (aa);printf ("\n*** new list ***\n");for(i=0; i<N; i++)printf ("%4d", aa [i]);}
考题
请完成下列Java程序:查找一个矩阵中的鞍点,对于一个二维数组中的鞍点,该点位置上的元素在该行上最小,在该列上最大,也可能没有鞍点。数组大小为4行5列。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。public class ex30_2 {public static void main(String[] args) {int i, j, flag,m=4,n=5;int[] min=new int [4];int[] max=new int [5];int r[] []={{2,5,6,7,9},{32,65,2,78,12},{1,8,5,96,4},{5,3,21,73,23}};flag=0;for (i=0; i<m; i++) {//获取元素在该行上最大min[i]=r[i] [0];for (j=1; j<n; j++)if(r[i] [j]<min[i])___________________;}for (j = 0; j <n; j ++ ) { //获取同一元素在该列上最大max[j]=r[0] [j];for(i=l;i<m;i++)if(r[i] [j]>max[j])_______________________}for(i=0;i<m;i++)for(j=0;j<n;j++)if(min[i]==max[j]){System.out.print("("+i+", "+j+") : "+r[i] [j]);flag=1;}if(flag==0)System.out.println("没有鞍点!");}}
考题
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。 void bubble(int a[],int n) {int i,j,max,temp; max=n-1; do{j=0; for(i=0;i<max;i++) if(a[i]<a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp; j=i; } max=j; }while(( )); }
考题
下列程序的输出结果是______。 include template T max(T x[],int n) { int
下列程序的输出结果是______。include<iostream.h>template<class T>T max(T x[],int n){int i;T maxv=x[0];for(i=1;i<n;i++)if(maxv<x[i])maxv=x[i];return maxv;}void main( ){int a[]={3,2,7,6,8,9};double b[]={1.2,3.4,2.5,7.3,6.8};cout<<max(a,4)<<","<<max(b,3)<<endl;}
考题
以下函数findmin拟实现存数组中查找最小值作为函数值返回,但程序中有错导致不能实现预定功能。 #define MAX 2147483647 int findmin(int x[],int n) {int i,min; min=MAX; for(i=0;i<n;i++) {if(min<x[i])min=x[i];} } 造成错误的原因是( )。A.定义语句int i,min;中min未赋初值B.赋值语句min=MAN;中,不应给min赋MAX值C.语句if(min<X[i])min=X[i];中判断条件设置错误D.赋值语句min=MAX;放错了位置
考题
以下函数模板max()的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typename T>T max(T a[],int n){T m=a[0]for(int i=1;i<n;i++)if(a[i]>m)______;return m;}
考题
fun函数的功能是首先对a所指的N行N列的矩阵找出各行中最大的数,再求这N个最大值中最小的那个数作为函数值返回,请填空。#include stdio.h#define N 100int fun(int(*a)[N]){ int row,col,max,min; for(row=0;rowN;row++) { for(max=a[row][0],col=1;colN;col++) if() max=a[row][col]; if(row==0) min=max; else if() min=max; } return min;}
考题
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#d越lie MIN-2147483647int findmax(int X[],int n){ int i,max;for(i=0;in;i++){max=MIN;if(maxx[i])max=x[i];}return max;}造成错误的原因是A.定义语句int i,max;中max未赋初值B.赋值语句max=MIN;中,不应给max赋MIN值C.语句if(maxx[i])max=X[i];中判断条件设置错误D.赋值语句max=MIN;放错了位置
考题
下面函数的功能是找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。#include stdlib.h#include stdio.hvoid fun(int a[ ],int n,int *max,int *d){ int i; *max=a[0]; *d=0; for(i=0;;i++) if(*max) { *max=a[i];*d=i; }}
考题
编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<conio.h>include<stdio.h>define MAX 100int 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==0i!=0) /*每行输出10个数*/printf("\n");printf("%5d ",aa[i]);}}
考题
阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。[函数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);}
考题
请编写一个函数fun(),它的功能是:找出一维数组元素中最大的值和它所在的下标,最大值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<stdlib.h>include<stdio.h>void fun(int a[],int n, int *max,int *d){}main(){int i, x[20], max, index, n=10;randomize();for(i=0; i<=n; i++){x[i]=rand()%50;printf("%4d",x[i]);/*输出一个随机数组*/}printf("\n");fun(x,n,max,index);printf("Max=%5d,Index=%4d\n",max,index);}
考题
阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。【函数】main ( ){int number[10];input (number);max min (number);output (number);}input (number)int number[10];{int i;for ( i=0;i<9;i++ )scanf ( "%d,",number[i] );scanf ( "%d",number[9] );}max_min ( array )int array[10];{int *max,*min,k,1;int *p,*arr_end;arr end=(1);max=min=array;for ( p=(2);p<arr_end;p++ )if((3)) max=p;else if ( *p<*min ) min=p;(4);l=*min;(5);array[0]=1;1=*p;*p=array[9];array[9]=k;k=*p;return;}output ( array )int array[10];{ int *p;for ( p=array;p<array+9;p++ )printf ( "%d,",*p );printf ( "%d\n",array[9] );}
考题
以下函数findmin拟实现在数组中查找最小值并作为函数值返回,但程序中有错导致不能实现预定功能。造成错误的原因是( )。A)定义语句int i,min;中vain未赋初值B)赋值语句min=MAN;中,不应给min赋MAX值C)语句if(minD)赋值语句min=MAX;放错了位置
考题
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#define MIN-2147483647int findmax(int x[],int n){int i,max;for(i=0;in;i++){max=MIN;if(maxx[i])max=x[i];)return max;}造成错误的原因是( )。A.定义语句“int i,max;”中max未赋初值B.赋值语句“max=MIN;”中,不应给max赋MIN值C.语句“if(maxx[i])max=x[i];”中判断条件设置错误D.赋值语句“max—MIN;”放错了位置
考题
若用白盒测试方法测试以下代码,并满足条件覆盖,采用McCabe度量法算出该程序的环路复杂性为( )。
Int find _max(int i,int j,int k){
int max;
if(i>j)then
if(i>k)then max =i;
else max=k;
else if(j>k)then max =j;
else max=k;
} A.1
B.2
C.3
D.4
考题
考虑下面的函数: int min(int x,int y){return xint max(int x,int y){return xy?x:y;} 对于下面的代码: t=0; for(i=max(x,y);i=min(x,y);i--) t+=i; 假设x=1,y=100,则可以得到函数调用的次数为()A、200B、201C、101D、102
考题
for( int i = min; i A、 init i = min;while( i max ){}B、 int i = min; do system.out.println(i++); } while( i max );C、 for (int i=min; iD、 for (int i=; i++
考题
单选题考虑下面的函数: int min(int x,int y){return xint max(int x,int y){return xy?x:y;} 对于下面的代码: t=0; for(i=max(x,y);i=min(x,y);i--) t+=i; 假设x=1,y=100,则可以得到函数调用的次数为()A
200B
201C
101D
102
考题
单选题for( int i = min; i
A
init i = min;while( i max ){}B
int i = min; do system.out.println(i++); } while( i max );C
for (int i=min; iD
for (int i=; i++
考题
单选题有如下程序:#include struct pair{ int first,second;};struct pair get_min_max(int*array, int len){ int i; struct pair res; res.first=array[0]; res.second=array[0]; for(i=1;ires.second) res.second=array[i]; } return res;}main(){ int array[5]={9,1,3,4}; struct pair min_max = get_min_max(array,5); printf(min=%d,max=%d, min_max.first, min_max.second);}程序运行后的输出结果是( )。A
min=1,max=9B
min=0,max=9C
min=1,max=4D
min=0,max=4
热门标签
最新试卷