![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/a6efce1b9d16fdfa68d14f68b88f8c5495ee7bf3?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define size 10
int *getmax(int *nums);//è·åæ大å¼å°å
int *getmin(int *nums);//è·åæå°å¼å°å
float getave(int *nums);//è·åå¹³åå¼
int getsum(int *nums);//è·åæ»å
int *sx(int *nums);//è¿åååºåçæ°ç»
int *jx(int *nums);//è¿åéåºåçæ°ç»
int *findnum(int *nums);//æ¾å°æ°å¼è¿åç¸åæ°å¼å¯¹åºç第ä¸ä¸ªå°åï¼æ²¡ææ¾å°è¿åNULL
void prfnums(int *nums);//æå°æ°ç»
int main()
{
//æ大å¼ãæå°å¼åå¹³åå¼ãæ»åãæåºãæ¥æ¾
int i,nums[size],ans,*max,*min,sum,*jxns=NULL,*sxns=NULL,*num;
float ave;
char anc;
printf("è¾å
¥10个æ°åï¼");
for(i=0;i<size;i++)
scanf("%d",&nums[i]);
max=getmax(nums);
min=getmin(nums);
ave=getave(nums);
sum=getsum(nums);
jxns=jx(nums);
sxns=sx(nums);
while(1)
{
system("cls");
printf("è¾å
¥çæ°ç»ä¸ºï¼");
prfnums(nums);
printf("请éæ©å¤çæ¹æ¡ï¼\n");
printf("1ãæ±æ大å¼ã\n2ãæ±æå°å¼ã\n3ãæ±å¹³åå¼ã\n4ãæ±æ»åã\n5ãéåºæåã\n6ãååºæåã\n7ãæ¥æ¾æå®å¼ã\n");
scanf("%d",&ans);
switch(ans)
{
case 1:printf("æ大å¼ä¸ºç¬¬%d个å
ç´ ï¼%d\n",max-nums+1,*max);
break;
case 2:printf("æå°å¼ä¸ºç¬¬%d个å
ç´ ï¼%d\n",min-nums+1,*min);
break;
case 3:printf("å¹³åå¼ä¸ºï¼%f\n",ave);
break;
case 4:printf("æ»å为ï¼%d\n",sum);
break;
case 5:printf("éåºæååçæ°ç»ä¸ºï¼");
prfnums(jxns);
break;
case 6:printf("ååºæååçæ°ç»ä¸ºï¼");
prfnums(sxns);
break;
case 7:num=findnum(nums);
if(num!=NULL)
printf("第ä¸ä¸ªå¯¹åºçæ°å¼ä½ç½®å¨æ°ç»ç¬¬%d个å
ç´ \n",num-nums+1);
else
printf("æªæ¾å°å¯¹åºæ°å¼\n");
break;
}
while(1)
{
printf("Continueï¼Y/N\n");
getchar();
scanf("%c",&anc);
if(anc=='N')
return 0;
if(anc=='Y')
break;
else
printf("è¾å
¥ä¸ç¬¦åè¦æ±ï¼éæ°åç\n");
}
}
return 0;
}
void prfnums(int *nums)//æå°æ°ç»
{
int i;
for(i=0;i<size;i++)
printf("%d ",nums[i]);
printf("\n");
}
int *getmax(int *nums)//è·åæ大å¼å°å
{
int i,*max=&nums[0];
for(i=1;i<size;i++)
{
if(*max<nums[i])
max=&nums[i];
}
return max;
}
int *getmin(int *nums)//è·åæå°å¼å°å
{
int i,*min=&nums[0];
for(i=1;i<size;i++)
{
if(*min>nums[i])
min=&nums[i];
}
return min;
}
float getave(int *nums)//è·åå¹³åå¼
{
float ave;
ave=(float)getsum(nums)/size;
return ave;
}
int getsum(int *nums)//è·åæ»å
{
int i,sum=0;
for(i=0;i<size;i++)
{
sum=sum+nums[i];
}
return sum;
}
int *sx(int *nums)//è¿åååºåçæ°ç»
{
int i,j,*numSave=NULL;
numSave=(int *)malloc(sizeof(int)*size);
for(i=0;i<size;i++)
numSave[i]=nums[i];
for(i=0;i<size-1;i++)
for(j=i+1;j<size;j++)
{
if(numSave[i]>numSave[j])
{
numSave[i]^=numSave[j];
numSave[j]^=numSave[i];
numSave[i]^=numSave[j];
}
}
return numSave;
}
int *jx(int *nums)//è¿åéåºåçæ°ç»
{
int i,j,*numSave=NULL;
numSave=(int *)malloc(sizeof(int)*size);
for(i=0;i<size;i++)
numSave[i]=nums[i];
for(i=0;i<size-1;i++)
for(j=i+1;j<size;j++)
{
if(numSave[i]<numSave[j])
{
numSave[i]^=numSave[j];
numSave[j]^=numSave[i];
numSave[i]^=numSave[j];
}
}
return numSave;
}
int *findnum(int *nums)//æ¾å°æ°å¼è¿åç¸åæ°å¼å¯¹åºç第ä¸ä¸ªå°åï¼æ²¡ææ¾å°è¿åNULL
{
int i,num;
printf("è¾å
¥ä½ è¦æ¥æ¾çæ°å¼ï¼");
scanf("%d",&num);
for(i=0;i<size;i++)
if(nums[i]==num)
return &nums[i];
return NULL;
}