下列找出一维数组中值最大的元素及其下标。最大元素可能不止一个,例如{3,5,2,7,6,1,7,4,7,5}中的最大元素为7,其下标分别为3、6、8。其中:(1)函数int max(int *,int)返回数组元素的最大值。(2)在主函数中,用测试数据初始化数组,并调用max 函数完成测试。请完善程序。[程序]#includeusing namespace std;int max(_____(1)_____){int m=p[0],i;for(i=1;im)m=p[i];return m;}int main(){int a[10]={3,5,2,7,6,1,7,4,7,5},m,i;m=max(_____(2)_____);cout<<"最大元素为 "<
查看答案
下列程序求二维数组各元素的和,程序设计如下。(1)函数void print(float p[][5],int n);输出二维数组。(2)函数void fun(float(*p)[5],int n,float *s);求二维数组各元素的和,并通过参数s 带回到主函数。(3)在主函数中,用测试数据初始化二维数组,并调用print 函数将其输出,调用fun 函数得到各元素的和并输出。请完善程序。[程序]#includeusing namespace std;void print(float p[][5],int n){int i,j;for(i=0;i
杨辉三角形是由正整数构成的一个矩阵,每行除最左侧与最右侧的元素为1 外,其他元素等于其左上方与正上方两个数之和,如下所示。111121133114641……下列程序生成并输出杨辉三角形,其设计如下所示。请完善程序。(1)函数void create(int p[][N],int n),将杨辉三角的前n 行保存到下三角二维数组中。(2)函数void print(int(*p)[N],int n),输出杨辉三角形。(3)在主函数中调用上述函数,得到一个N 阶的杨辉三角形。[程序]#includeusing namespace std;const int N=20;void create(int p[][N],int n){for(int i=0;i>n;create(_____(3)____);print(y,n);system(“pause”);return 0;}
下列程序不使用库函数实现字符串的复制。其设计如下所示,请完善程序。(1)函数char* copy(char*s1,char*s2),将指针s2所指向的字符数组或字符串赋值给s1所指向的字符数组,并返回复制后的字符数组。(2)在主函数中输入两个字符串,测试copy 函数。[程序]#includeusing namespace std;char*copy(char* s1,char* s2){char*s=s1;while(*s1++=*s2++);return _____(1)_____;}int main(){char str1[100],str2[100];cout<<"请输入第一个字符串:\n";cin.getline(str1,100);cout<<"请输入第二个字符串:\n";cin.getline(str2,100);cout<<"复制后的字符串是:\n";cout<<_____(2)_____<
设英文单词是连在一起的英文字母,下列程序求键盘输入的一串字符中单词的个数。例如,“ I’m aboy. ”中有4个单词。程序设计如下所示,请完善程序。(1)函数int f(char c),若字符c是英文字母返回1,否则返回0。(2)函数int count(char*s),求字符串s 的单词个数并返回。(3)在主函数中输入一个字符串,测试count 函数。[程序]#includeusing namespace std;int f(char c){return ((c>='A'&&c<='Z') _____(1)_____ (c>='a'&&c<='z'));}int count(char*s){int words=0;while(*s){if(f(*s)&&!f(*(s+1)))words++;_____(2)_____;}return words;}int main(){char text[100];cout<<"请输入一个字符串:\n";_____(3)_____;cout<