网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

用指针作函数参数,编程序求一维数组中的最大和最小的元素值。

#define N 10

main()

{ void maxmin(int arr[],int *pt1,int *pt2,int n);

int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;

p1=&a; p2=&b;

maxmin(array,p1,p2,N);

printf("max=%d,min=%d",a,b);

}

void maxmin(int arr[],int *pt1,int *pt2,int n)

{ int i;

*pt1=*pt2=arr[0];

for(i=1;i<N;I++)

{ if(arr[i]>*pt1) (9) ;

if(arr[i]<*pt2) (10) ;

}

}


参考答案

更多 “ 用指针作函数参数,编程序求一维数组中的最大和最小的元素值。#define N 10main(){ void maxmin(int arr[],int *pt1,int *pt2,int n);int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;p1=a; p2=b;maxmin(array,p1,p2,N);printf("max=%d,min=%d",a,b);}void maxmin(int arr[],int *pt1,int *pt2,int n){ int i;*pt1=*pt2=arr[0];for(i=1;iN;I++){ if(arr[i]*pt1) (9) ;if(arr[i]*pt2) (10) ;}} ” 相关考题
考题 阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】下面一段程序从给定的数组b中找出值最小的元素,并输出该元素的数组下标、内存地址minaddr以及元素值本身。函数findmin负责在给定的数组中查找最小值,并返回最小值所在的内存地址,函数有三个参数:array是所要处理的数组;size是数组的大小;index负责从函数返回具有最大值的元素在数组中的数组下标。请填充空白,使其成为一个合乎要求的完整程序。【程序】//程序开始include<iostream.h>int *findmin(int *array, int size, int index);void main(){/****** 变量定义部分 ***********/int b[10] = {34, 34, 23, 89, 1, 2, 13, 42, 5, 54};(1);int idx;/******* 寻找最小值 ************/minaddr = findmin(b, sizeof(b)/sizeof(int), idx);/******* 输出最小值的有关信息 ************/cout << "Min value index: "<<idx<<end1<<"Min value address: "<<minaddr<<end1<<"Min value: "<<(2)<<end1;}/******* 函数findmin的定义部分 ************int *findmin(int *array, int size, int index){int min = 0;//max 是当前具有最小值的数组元素下标值for(int i = 1;(3); i++){if(array[i]<(4))min = i;}(5);return array + min;//返回最小值所在内存地址}

考题 请编一个函数void proc(int ttEM][N],int pp[N]),tt 指向一个M行N列的二维数组,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。 试题程序: includestdio.h includeconio.h includestdlib.h define M 3 define N 4 void proc(int ttrM3rN]。int pp[N]) {} void main { int str[M][N]={ {34,56,84,78}, {23,84,93,12), {28,38,39,93}}; int p[N],i,j,k; system("CLS"); printf("The riginal data is:\n"); for(i=0;iM;i++) { for(j=0;jN;j++) printf("%6d",str[i][j]); printf("\n"); } proc(str,p); printf("\nThe result is:\n");for(k=0:kM;k++) printf("%4d",p[k]); printf("n");}

考题 请补充函数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]);}

考题 阅读以下说明和流程图,回答问题将解答填入对应栏。[说明]本流程图实现采用递归函数来求一个整数数组中从元素0到元素n中的最小值。该算法思想是这样的,首先我们假设有一个求数组中最小元素的函数,然后,在求某一具有n的元素的数组的最小值时,只要求将前n-1的元素的最小值与第n个元素比较即可。不断地重复这一过程,直到数组中只剩下一个元素,那么它必定是最小值。注:int min(int X,int y)为返回两数中最小数的函数。int minInArray(int a[],int n)为返回数组中最小数的函数。minA为数组中最小值。[问题l]将流程图的(1)~(4)处补充完整。[问题2]min()函数的定义为(5)。

考题 请编一个函数void fun( int tt[M][N], int pp[N], tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>define M 3define N 4void fun(int tt[M][N],int pp[N]){}main(){int t[M] [N]={{68,32,54,12},{14,24,88,58},{42, 22, 44, 56}};int p[N],i,j,k;clrscr();printf("The riginal data is:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%6d",t[i][j]);printf("\n");}fun(t,p);printf("\nThe result is:\n");for(k=0;k<N;k++)printf("%4d",p[k]);printf("\n");}

考题 请补充main函数,该函数的功能是:把一维数组中的元素逆置。结果仍然保存在原数组中。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 10main ( ){int i, j, t;int bb[N];clrscr ();for (i=0; i<N; i++)bb[i]=i;printf("\n*** original list ***\n");for (i=0;i<N; i++)printf ("%4d",bb [i] );for(【 】; j<=i;【 】){t=bb [j ];bb [j ] =bb [i];bb[i]=t;}printf("\n****** new list ******\n");for (i=0; i<N; i++)printf ("%4d",bb [i] );}

考题 请编写一个函数void fun(int p[],int n,int c),其中数组p的元素按由小到大的顺序排列,其元素个数为n。函数fun()的功能是将c插入到数组p中,且保持数组的升序排列。注意:部分源程序已存在文件PROC9.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句;文件PROC9.cpp的内容如下://PROC9.cppinclude <iostream>include <string>using namespace std;define M 30void fun(int p[ ],int n,int c);int main (){int pp[M],n,i;int fg, c;cout<<"Please input n:\n";cin>>n;cout<<"Please input the n data:\n";for (i=0; i<n; i++)cin>>pp [i];cout<<"Please input c:\n";cin>>c;fun (pp, n, c);for (i=0; i<n; i++)cout<<pp [i] << " " ;cout<<end1;return 0;}void fun(int p[ ],int n, int c){//* * * * * * * * *}

考题 下面程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并在文本框Textl中输出该数组中各元素的最小值。请填空。End Sub

考题 若有函数 void fun(double a[]。int*n) {…} 以下叙述中正确的是( )。A.调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B.形参a和n都是指针变量C.形参a是一个数组名,n是指针变量D.调用fun函数时将把double型参数组元素一一对应地传送给形参a数组

考题 以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。define M 2define N 4void SumColumMin(int a[M][N],int *sum){ int i,j,k,s=0;for(i=0;i〈N;i++){ k=0;for(j=1;j<M;j++)if(a[k][i]>a[j][i])k=j;s+=【 】;}【 】 =s;}main( ){ int x[M][N]={3,2,5,1,4,1,8,3},s;SumColumMin(【 】);printf("%d\n",s);}

考题 若有函数Void fun( double a[ ],int *n){ …… }以下叙述中正确的是A)调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B)形参a和n都是指针变量C)形参a是一个数组名,n是指针变量D)调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

考题 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#includestdio.h#define N 10void fun(int x[N]){int i=0;while(iN)scanf(“%d”,_______);}在程序中下划线处应填入的是A.x+iB.&x[i+1]C.x+(i++)D.&x[++i]

考题 请编写一个函数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);}

考题 请编写一个函数void fun(int a [],int n),其中a为数组,n为数组a的长度。函数fun()的功能是冒泡排序法将数组a元素按从小到大的顺序排列,实现数组a的升序排列。注意:部分源程序已存在文件PROC12.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。文件PROC12.cpp的内容如下://PROC12. cppinclude <iostream>using namespace std;define MAX 100void fun(int a[],int n);int main (){int a[MAX],n,i;cout<<"Please enter the array size n:\n";do {cin>>n;if (n>100)cout<<"array size flowover! ReEnter a number(0-100)\n";}while (n>100);cout<<"Enter the array data:\n";for (i=0; i<n; i++)cin>>a [ii;fun(a[],n);for (i=0; i<n; i++)cout<<a [i] <<" ";cout<<end1;return 0;}void fun(int a[ ],int n){// * * * * * * * *}

考题 程序定义了M×M的二维数组,并在主函数中自动赋值。请编写函数proc(int a[][M],int n),该函数的功能是使数组左下半三角元素中的值加上n。例如,a数组中的值为:注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:

考题 请编一个函数void proc(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:

考题 下面是一个对整数数组A中的前n个元素求最小值的C程序,函数返回最小元素的位置。 Int minValue(int A[],int n){ int k=0: for(int j=1;j<=n-1;j++) if(A[j]<a[k])k=j; return k: 当n=4时,程序中可能的执行路径数为______。A.2B.4C.8D.16

考题 有关数组名作为函数参数说法错误的是()。A、用数组名作为函数参数时,要求形参和实参类型相同B、用数组名作为函数参数时,实参传给形参的是数组的首地址C、用数组名作为函数参数时,实参将数组各元素的值传给形参D、用数组名作为函数参数时,实参和形参共享同一数组

考题 编写程序,求10元素字数组LIST中绝对值最小的数,存入MIN单元。

考题 编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。

考题 若数组名作实参而指针变量作形参,函数调用实参传给形参的是()A、数组的长度B、数组第一个元素的值C、数组所有元素的值D、数组第一个元素的地址

考题 函数viodfun(doublea[],int*n){………}叙述中正确的是()。()A、调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B、形参a和n都是指针变量C、形参a是一个数组名,n是指针变量D、调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

考题 单选题若有函数: voidfun(doublea[],int*n) {......} 以下叙述中正确的是(  )。A 调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B 形参a和n都是指针变量C 形参a是一个数组名,n是指针变量D 调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

考题 单选题若数组名作实参而指针变量作形参,函数调用实参传给形参的是()A 数组的长度B 数组第一个元素的值C 数组所有元素的值D 数组第一个元素的地址

考题 单选题以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#include #define N 10void fun(int x[N]){ int i=0; while(i A x+iB x[i+1]C x+(i++)D x[++i]

考题 单选题若有函数声明:void fun(float array[],int*ptr);以下叙述正确的是(  )。A 函数参数array,ptr都是指针变量B 函数参数array不是指针变量,ptr是指针变量C 调用函数时,实参数组的值将一一复制给array数组D 调用函数时,array是按值传送,ptr是按地址传送

考题 问答题编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。