以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回,请填空。(设M,N已定义) int fun(int a[N][M]) {int i,j,row=0,col=0; for(i=0;i<N;i++) for(j=0;j<M;j++) if(a[i][j]>a[row][col]){row=i;col=j;} return(_____); }
以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回,请填空。(设M,N已定义) int fun(int a[N][M]) {int i,j,row=0,col=0; for(i=0;i<N;i++) for(j=0;j<M;j++) if(a[i][j]>a[row][col]){row=i;col=j;} return(_____); }
参考答案和解析
void fun (int(*s) [10]int *bint*nint mmint nn) {int ij; for(i=0;i<mm;s++j++) for(j=0;j<nn;j++) *(b+i*nn+j)=(*s)[j]; *n=mm*nn; } voidfun(int(*s)[10],int*b,int*n,intmm,intnn){inti,j;for(i=0;i<mm;s++,j++)for(j=0;j<nn;j++)*(b+i*nn+j)=(*s)[j];*n=mm*nn;}
相关考题:
以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标,请填空。#define N 3#define M 3select(int a[N][M],int *n){int i,j,row=0,colum=0;for(i=0;iN;i++)for(j=0;jM;j++)if(a[i][j]a[row][colum]){row=i;colum=j;}*n=;return();}
阅读下面程序: include void main() { int i,j,row=0,column=0,m; static int a[3] 阅读下面程序:include <iostream.h>void main(){int i,j,row=0,column=0,m;static int a[3][3]={ 100,28,72,-30,2,-100};m=a[0][0];for (i=0;i<3;i++)for (j=0;j<3;j++)if (a[i][j]<m){m=a[i][j];row=i;column=j;}cout<<m<<","<<row<<","<<column<<endl;}该程序的功能是【 】,其执行结果为上丝【 】。
以下程序中的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);}
该程序运行的结果是( )。#include#include#define M 100void fun(int m, int *a, int *n){ int i,j=0;for(i=1;i=m;i++)if(i%7==0||i==0)a[j++]=i;*n=j;}main(){ int aa[M],n,k;clrscr();fun(10,aa,n);for(k=0;kif((k+1) ==0)printf("\n");else printf("M",aa[k]);printf("\n");}
下列给定程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请改正程序中的错误,使它能得到正确结果。[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。[试题源程序]include<stdio.h>define N 20void fun(int a[], int n){int i, j, t, p;for(j=0; j<n-1; j++){/***********found***********/p=jfor(i=j; i<n; i++)if(a[i]<a[p])/***********found***********/p=j;t=a[P];a[p]=a[j];a[j]=t;}}msin(){int a [N]=(9, 6, 8, 3, -1), i, m=5;printf("排序前的数据:”);for(i=0; i<m; i++)printf("%d", a[i]);printf("\n");fun(a, m);printf("排序后的数据:");for(i=0; i<m; i++)printf("%d", a[i]);printf("\n");}
下列程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是使数组右上半三角元素中的值全部置成0。例如a数组中的值为a=4 5 61 7 93 2 6,则返回主程序后a数组中的值应为0 0 01 0 03 2 0注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<conio.h>include<stdio.h>include<stdlib.h>define N 5int fun(int a[ ][N]){}main(){int a[N][N],i,j;clrscr( );printf("*****The array*****\n");for(i=0;i<N;i++)/*产生—个随机的5*5矩阵*/{for(j=0;j<N;j++){a[i][j]=rand( )%10;printf (“%4d”,a[i][j]);}printf(“\n”);}fun(a);printf(“THE RESULT\n”);for(i=0;i<N;i++){ for(j=0;i<N;j++)printf(“%4d”,a[i][j]);printf(“\n”);}}
请补充函数fun(),该函数的功能是:计算N×N维矩阵元素的方差,结果由函数返回。维数N在主函数中输入。例如:注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>include <conio.h>include <stdlib.h>include <math.h>define N 20double fun(【 】,int n){int i,j;int k;double s=0.0;double f=0.0;double aver=0.0;double sd=0.0;for(i=0;i<n;i++)for(j=0;j<n;j++)s+=a[i][j];aver=【 】;for(i=0;i<n;i++)for(j=0;i<n;j++)f+=(a[i][j]-aver)*(a[i][j]-aver);f/(n*n);sd=【 】;return sd;}main(){int a[N][N];int n;int i,j;double s;clrscr();printf("***+Input the dimension ofarray N*****\n");scanf("%d",n);printf("***** The array *****\n");for(i=0;i<n;i++){for(j=0;j<n;j++){a[i][j]=rand()%50;while(a[i][j]=0)a[i][j]=rand()%60;printf("%4d",a[i][j]);}printf("\n\n");}s=fun(a,n);printf("******* THE RESULT *******\n");printf("%4.3f\n",s);}
请编一个函数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");}
下列给定程序中,函数fun()的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示的数据,由 main()函数输出。例如,若输入2,则输出1 22 4输入4,则输出1 2 3 42 4 6 83 6 9 124 8 12 16请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:include <conio.h>include <stdio. h>define M 10int aiM] [MI={0};/***************found*******************/fun( int **a, int m){int j,k;for (j=0; j<m; j++)for (k=0; k<m; k++)/***************found*******************/a[j] [k]=k*j;}main ( ){int i, j, n;clrscr ();printf ("Enter n\n"); scanf ("%d", n);fun (a, n);for (i=0; i<n; i++){ for (j=0;j<n;j++)printf ("%4d ",a[i] [j]);printf ("\n ");}}
给定程序MODllC中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。inClude<coMo.h>inClude<stdio.h>dehne M 5/************fOUnd************/int fun(int n,int xx[][]){int i,j,sum=0;printf("\n The%dx%d matrix:\n"M,M);for(i=0;i<M;i++){ for(j=0;j<M;j++)/************found************/printf("%f",xx[i][j]);printf("\n");}for(i=0;i<n;i++)sum+=xx[i][i]+XX[i][[n-i-1];return(sum);}main( ){int aa[M][M]={{1,2,3,4,5),{4,3,2,1,0),{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};clrscr( );printf("\n The sum Of all elements On 2 diagnals is %d."fun(M,aa));}
下列程序的输出结果是 #include"stdio.h" #define N 3 #define M 3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}A.3B.4C.5D.6
下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include<stdio.h>define N 20void fun(int a[ ],int n){int i,j,t,p;/*************found*************/for(j=0;j<n-1;j++) ;{p=j;for(i=j;i<n;i++)if(a[i)>a[p])p=i;t=a[p];a[p]=a[i];/*************found**************/a[p]=t;}}main(){int a[N]={11,32,-5,2,14},i,m=5;printf(“排序前的数据:”);for(i=0;i<m;i++)printf(“%d”,a[i]);printf(“\n”);fun(a,m);printf(“排序后的顺序:”);for(i=0;i<m;i++)printf(“%d”,a[i]);printf(“\n”);}
下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include<stdio.h>define N 20void fun(int a[],int n){int i,j,t,p;for (j=0;j<n-1;j++)/*************found**************/{p=jfor(i=j;i<n;i++)if(a[i]<a[p])/*************found**************/p=j;t=a[p]; a[p]=a[j]; a[j]=t;}}main(){int a[N]={9.6,8,3,-1},i,m=5;printf("排序前的数据: ");for(i=0;i<m;i++) printf("%d",a[i]);printf("\n");fun(a,m);printf("排序后的顺序: ");for(i=0;i<m;i++) printf("%d",a[i]);printf("\n");}
以下程序段是函数返回a所指数组中最小的值所在的下标值,请在下划线处填空。fun(int *a,int n){int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p]) 【 】;return(p);}
请补充函数fun(),该函数的功能是:按行统计N×N维矩阵元素中的最大值(均为整数),并把这些值按从小到大的顺序保存在数组b中。矩阵的维数在主函数中输入,并赋予随机数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conio.h>include<stdlib.h>define N 20void fun(【 】){int i j;int t;for(i=0;i<n;i++)for(j=0;j<n;j++)if(【 】)b[i]=a[i][j];for(i=0;i<n;i++){for(j=0;i<n;j++)if(【 】){t=b[i];b[i]=b[j];b[j]=t;}}}main(){int a[N][N];int b[N];int n;int i,j;clrscr();printf("*****Input the dimension of array N*****\n");scanf("%d",n);printf("*****The array *****\n");for(i=0;i<n;i++){for(j=0;i<n;j++){a[i][j]=rand()%20;while(a[i][j]==0)a[i][j]=rand()%30;printf("%4d",a[i][j]);}printf(”\n\n”);}for(i=0;i<n;i++)b[i]=0;fun(a,b,n);printf("***** THE RESULT *****\n");for(i=0;i<n;i++)printf(“%d”,b[i]);}
下列程序定义了N×N的二维数组,并在主函数中自动赋值;请编写函数fun(int a[][N]),该函数的功能是:使数组左下半三角元素中的值全部置成0。例如a数组中的值为a=1 9 72 3 84 5 6则返回主程序后a数组中的值应为0 9 70 0 80 0 0注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>include <stdlib.h>define N 5int fun (int a[] [N]){}main(){int a[N] [N],i,j;clrscr();printf("*****The array*****\n");for(i=0;i<N;i++)/*产生—个随机的5*5矩阵*/{ for(j=0;j<N;j++){a[i][j]=rand()%10;printf("%4d", a[i][j]);}printf("\n");}fun (a);printf("THE RESULT\n");for(i=0;i<N;i++){ for(j=0;j<N;j++)printf("%4d",a[i][j));printf("\n");}}
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;}
以下程序中,函数 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);}
下列程序的输出结果是#include "stdio.h"#define N 3#define M 3void fun(int a[M][N]){ printf("%d\n",*(a[1]+2));}main(){ int a[M][N];int i,j;for(i=0;iM;i++)for(j=0;jN;j++)a[i][j]=i+j-(i-j);fun(a);}A.3B.4C.5D.6
下列程序的输出结果是 #include"stdio.h" #define N3 #define M3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}A.3B.4C.5D.6
阅读以下函数说明和C语言函数,将应填入(n)处的字句填写在对应栏内。[函数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" );}}
以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回,请填空。(设M,N已定义)int fun(int a[N][M]){int i,j,row=0,col=0;for(i=0;iN;i++)for(j=0;jM;j++)if(a[i][j]a[row][col])(row=i;col=j;)return(_____);}
以下程序的输出结果是#include conio.h#include stdio.h#define M 100void fun(int m, int *a, int *n){ int i,j=0; for(i=1;i=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;}main(){ int aa[M],n,k; clrscr(); fun(100,aa,n); for(k=0;kn;k++) if((k+1)%20==0)printf("\n"); else printf("%d",aa[k]); printf("\n"); }
下列给定程序中,函数fun()的功能是:输出M行N列整数方阵,然后求两条对角线上的各元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:include <conio.h>include <stdio.h>define M 5/**********************************/iht fun(int n, int xx[ ][ ]){ int i, j, sum=0;printf("\nThe %d x %d matrix:\n",M,M);for(i=0;i<M;i++){ for (j=0; j<M; j++)/**********************************/printf("%4f",xx[i][j]);printf("\n");}for(i=0;i<n;i++)sum+=xx[i][i]+xx[i][n-i-1];return(sum);}main (){ int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};clrscr();printf("\nThe sum of all elements on 2diagnals is %d",fun(M, aa));}
请补充函数fun(),该函数的功能是:寻找两个整数之间的的所有素数(包括这两个整数),把结果保存在数组bb中,函数返回素数的个数。例如,输入6和21,则输出为:7 11 13 17 19 21。注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<conio. h>include<stdio. h>define N 1000int fun (int n, int m, int bb [N]){int i, j, k=0, flag;for (j=n; j<=m; j++){【 】;for (i=2; i<j; i++)if(【 】){flag=0;break;}if(【 】)bb [k++] =j}return k;}main (){int n=0,m=0, i, k;int bb[N];clrscr ();printf ("Input n\n");scanf ("%d", n);printf ("Input m\n");scanf ("%d", m);for (i=0; i<m-n; i++)bb[i]=0;k=fun (n, m, bb);for (i=0; i<k; i++)printf ("%4d",bb [i]);}
请完成函数fun(),它的功能是:用选择法对数组中n个元素按从大到小的顺序进行排序。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在下划线上填入所需的内容。include<stdio.h>define N 20void fun(int a[],int n){int i,j,t,p;for(j=0;j<n-1; 1 ){ p=j;for(i=j;i<n;i++)if(a[i] 2 a[p]p=i;t=a[p];a[p]=a[j];a[ 3 ]=t;}}main(){int a[N]={11,32,-5,2,14},i,m=5;for(i=0;i<m;i++)printf("%d\n",a[i});fun(a,m);for(i=0;i<m;i++)printf("%d"a[i]);}
以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() {int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,B); for(i=0;j<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int*br) {int i,j,x; for(i=0;i<m;i++) {x=ar[i][0]; for(j=0;j<n;j++) if(( )) x=ar[i][j]; br[i]=x; } }