#include<stdio.h>
#include<stdlib.h>
#include<time.h>
double data[20];
int i;
double max=0;
double* maximum(double* a, int size){
srand(time(NULL));
for(i=0;i<20;i++){
data[i]=rand()%100000;
printf("data[%2d]= %.3f (0x%p)\n",i,data[i]/1000,&data[i]);
}
if(size==0) return NULL;//如果陣列是空的,傳回NULL(這行注意!!!!莫遺漏)
*a=data[0];
while(*a){
if(*a>max) {
max=*a;
}
*a++;
}
return a;
}
main(){
maximum(data,20);
for(i=0;i<20;i++){
if(max==data[i]) printf("\nmax= %.3f (0x%p)\n",max/1000,&data[i]);
}
return 0;
}
//終於完成這題了,只差這個:如果陣列是空的,傳回NULL(已解決)
//題目來源:c how to program
//程式均為自創,如有雷同純屬巧合
留言列表