[函数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);}
参考答案:
解析:(1) * max=i (2) * min=i (3) &max,&min (4) str1[i]= =sir2[i](5) str[i]=str1[i]或str[i]=str2[i][考点分析] 考查C语言程序设计,包括数值和字符串的处理。 (1)若下标i的数大于当前的最大值,则更新最大元的下标;(2)若下标i的数小于当前的最小值,则更新最小元的下标;(3)根据find函数对形参的要求,此处应传递max和 min的地址;(4)此循环用于获取str1和str2从前端起的公共部分,一旦两字符串在某位置上不等即刻退出循环;(5)所求的公共子串应保存于str,因此在循环过程中应不断取出公共部分的每一个字符。