早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C++编程,详细代码作业8指针与引用1.编写函数voidsearch(int*a,intn,int*max,int*min),在n个整数数组a中寻找最大数和最小数,并用参数max和min返回。2.编写下列字符串处理函数:(不得使

题目详情
C++编程,详细代码
作业8 指针与引用
1. 编写函数void search(int *a,int n,int *max,int*min),在n个整数数组a中寻找最大数和最小数,并用参数max和min返回。
2. 编写下列字符串处理函数:(不得使用系统库函数)
(1)intStrlen(char *str):返回字符串str的长度。
(2)char* Strcat(char *str1,char *str2):将串str2接在str1的后面,形成一个长串,并返回这个长串。
(3)char*Strcpy(char *str1,char *str2):拷贝串str2至str1,并返回拷贝后的串。
3. 分别用指针数组和数组指针做函数参数,计算两个n*3矩阵的和。
4. 分别实现以下集合操作:其中,m,n,s分别为集合a,b,c的元素个数。
(1) voidUnion(int *a,int m,int *b, int n,int *c,int &s):c为两个集合a和b的并集。
(2) voidIntersect(int *a,int m,int *b,int n,int *c,int &s):c为两个集合a和b的交集。
(3) voidDifference(int *a,int m,int *b,int n,int *c,int &c):c为两个集合a和b的差集。
5. 计算两个n维向量的点积。要求使用动态内存分配。
6. 编写函数void fun(int x,int *p,int &n):求出x的所有偶数因子,并按从小到大的顺序存放在p所指的数组中,这些因子的个数通过形参n返回。例如,x的值为24,则有6个数符合要求,它们是:2,4,6,8,12,24。
▼优质解答
答案和解析
1.大概是这样的算法
void search(int *a,int n int *max,int *min){
max=a[0];
min=a[0];
for(int i=0; i if(a[i]>max) max = a[i];
if(a[i] }
}
2.(1)
int Strlen(char *str){
int len=0;
for(int i=0;i len++;
if(str[i]=='\n'){
return len;
}
}
}
(2)char* Strcat(char *str1,char *str2){
char newStr[] = new char[str1.length+str2.length];
for(int i=0;i for(int j=0;j str1 = newStr
return str1;
}
}
先给你写2个吧,其实不难上机调试调试就行