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

2025-01-04 09:37:20
推荐回答(3个)
回答1:

#include "stdio.h"//
#include "stdlib.h"//
#include //
int *fun_max(int *x,int *max,int *p,int n){//原来void不好处理,改为int*
int i;
for(*max=i=0;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 k=i;
for(j=k+1;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 pmax=fun_max(pa,&max,pmax,n);
sort(pa,n);
printf("max=%d pmax=%p\n",max,pmax);
free(pa);
}

回答2:

自己写一写,调一调,锻炼下动手能力嘛。。

回答3:

这些题都很简单,拿分走人