以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#defineN3 #defineM3 select(inta[N][M],int*n) {inti,j,row=1,colum=1; for(i=0;ia[row][colum]) {row=i;colum=j;} *n=; return; } main(){ inta[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);}
查看答案
下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。fun(int*p,intn) {int*q;intmax,min;max=min=*p; for(q=p;;q++) if()max=*q; elseif()min=*q; }
设有以下定义和语句:int a[3][2]={10,20,30,40,50,60},(*p)[2]; p=a;则 **(p+1) 的值为 【】 。
下面程序的功能是:对字符串从小到大进行排序并输出,请填空。sort(char*a[],intn) {inti,j;char*p; for(j=1;j<=n-1;j++) for(i=0;;i++) if(>0) {p=a[i]; a[i]=a[i+1]; a[i+1]=p; } } main() {inti;char*book[]={"itisme","itisyou","howareyou","fine","goodnight","goodbye"}; sort( ,); for(i=0;i<6;i++) printf("%s\n",book[i]);}
下面程序段的功能是:从键盘上输入两个字符串,对两个字符串分别排序;然后将它们合并,合并后的字符串按ASCII码值从小到大排序,并删去相同的字符。请填空。fun(char*x,char*y,char*z) {chart,*p;p=z; while(*x!=′\0′&&*y!=′\0′) {t= *x<*y?*x++:*y<*x ? *y++ :; if(*p==′\0′)*p=t; elseif(t!=*p)*++p=t;} if(*x!=′\0′) while(*x!=′\0′) if(*x!=*p)*++p=*x++; elsex++; if(*y!=′\0′) while(*y!=′\0′) if(*y!=*p)*++p=*y++; elsey++; *++p=; } sort(char*s) {inti,j,k; chart,*p; p=s; for(k=0;*p!=′\0′;k++)p++; for(i=0;is[j+1]) {t=s[j];;;} } main() {chars1[100],s2[100],s3[200]; scanf("%s",s1);scanf("%s",s2); sort(s1);sort(s2); s3[0]=′\0′; fun(s1,s2,s3); printf("%s\n",s3); }