急求C语言高手中的高手,帮忙把这两道大题编个程序,一定要按要求来啊!!!

1.利用指向一维数组的指针作为函数参数具体实现:(1)求数组最大元素及其所在位置。函数首部为:voidfun_max(int*x,int*max,int*p,intn),... 1.利用指向一维数组的指针作为函数参数具体实现:
(1)求数组最大元素及其所在位置。函数首部为:void fun_max(int * x, int * max, int *p,int n),其中x为指向数组的指针,max为指向最大元素的指针,p为指向最大元素位置的指针,n为数组元素的长度。
(2)利用选择排序对数组元素按照从小到大排序。
函数首部为:void sort(int * x, int n) ,其中x为指向数组的指针,n为数组元素的长度。
2. 写四个函数,要求利用指针实现字符串的复制、连接、比较和求字符串的长度。
函数首部分别为:void str_copy(char *str1 ,char *str2)
void str_cat(char *str1 ,char *str2)
void str_cmp(char *str1 ,char *str2)
int str_len(char *str1 ,char *str2)
展开
 我来答
White_MouseYBZ
2013-01-03 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6587万
展开全部
#include "stdio.h"//
#include "stdlib.h"//
#include <time.h>//
int *fun_max(int *x,int *max,int *p,int n){//原来void不好处理,改为int*
int i;
for(*max=i=0;i<n;i++){
if(*max<*(x+i)){
*max=*(x+i);
p=x+i;
}
}
return p;
}
void sort(int *x,int n){
int i,j,k;
for(i=0;i<n-1;i++){
k=i;
for(j=k+1;j<n;j++)
if(*(x+j)<*(x+k)) k=j;
if(k==i) continue;
j=*(x+i);
*(x+i)=*(x+k);
*(x+k)=j;
}
}
void str_copy(char *str1,char *str2){
while(*str1++=*str2++);
}
void str_cat(char *str1,char *str2){
while(*str1) str1++;
while(*str1++=*str2++);
}
int str_cmp(char *str1,char *str2){//用void不行.
for(;*str1||*str2;str1++,str2++)
if(*str1>*str2) return 1;
else if(*str1<*str2) return -1;
return 0;
}
int str_len(char *str){//原来有两个形参,似乎不合适.
int i=0;
while(*(str+i)) i++;
return i;
}
void main(void){
int n,i,*pa,max,*pmax=NULL;
printf("Please enter a positive integer...\nn=");
scanf("%d",&n);
if((pa=(int *)malloc(n*sizeof(int)))==NULL){
printf("Allocate memory failure...\n");
exit(0);
}
srand((unsigned)time(NULL));
for(i=0;i<n;*(pa+i++)=rand());
pmax=fun_max(pa,&max,pmax,n);
sort(pa,n);
printf("max=%d pmax=%p\n",max,pmax);
free(pa);
}
更多追问追答
追问
看不懂啊,是第二题吗,麻烦讲解一下吧
追答
一共就两题,都已做了。
知音先锋6110
2013-01-03
知道答主
回答量:13
采纳率:0%
帮助的人:8万
展开全部
自己写一写,调一调,锻炼下动手能力嘛。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bolan99999
2013-01-03 · TA获得超过177个赞
知道答主
回答量:90
采纳率:0%
帮助的人:68.7万
展开全部
这些题都很简单,拿分走人
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式