#include <stdio.h>
void QuickSort(int a[],int low,int high)
{
int pivot=a[low],i=low,j=high;
while(i<j)
{
while(i<j&&a[j]>=pivot)
j--;
if(i<j)
a[i++]=a[j];
while(i<j&&a[i]<=pivot)
i++;
if(i<j)
a[j--]=a[i];
}
a[i]=pivot;
if(low<i)
QuickSort(a,low,i-1);
if(i<high)
QuickSort(a,i+1,high);
}
int main()
{
int i,n,a[100],b[100],max,min;
printf("输入正整数个数:");
scanf("%d",&n);
printf("依次输入%d个正整数:",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
b[i]=a[i];
}
QuickSort(a,0,n-1);
for(i=n-1;i>=0;i--)
a[i-1]=a[i]*a[i-1]+1;
max=a[0];
QuickSort(b,0,n-1);
for(i=0;i<n;i++){
b[i+1]=b[i]*b[i+1]+1;
}
min=b[n-1];
printf("数列极差是:%d\n",max-min);
return 0;
}
评论0