📄 4.6.cpp
字号:
#include<stdio.h>
int s1,s2;
void max2(int a[],int n)
{
int j;
if(a[1]>=a[2])
{
s1=1;
s2=2;
}
else
{
s1=2;
s2=1;
}
for(j=3;j<=n;j++)
{
if(a[j]>a[s1])
{
s2=s1;
s1=j;
}
else if(a[j]>a[s2])
s2=j;
}
}
void min2(int a[],int n)
{
int j;
if(a[1]<=a[2])
{
s1=1;
s2=2;
}
else
{
s1=2;
s2=1;
}
for(j=3;j<=n;j++)
{
if(a[j]<a[s1])
{
s2=s1;
s1=j;
}
else if(a[j]<a[s2])
s2=j;
}
}
int calculatemin(int a[],int n)
{
while(n>2)
{
max2(a,n);
a[s1]=a[s1]*a[s2]+1;
a[s2]=a[n];//空间合理运用
n=n-1;
}
return a[1]*a[2]+1;
}
int calculatemax(int a[],int n)
{
while(n>2)
{
min2(a,n);
a[s1]=a[s1]*a[s2]+1;
a[s2]=a[n];
n=n-1;
}
return a[1]*a[2]+1;
}
int main()
{
int j,n,a[101],b[101],max,min;
printf("How many data?\n");
scanf("%d",&n);
printf("Input these data\n");
for(j=1;j<=n;j++)
{
scanf("%d",&a[j]);
b[j]=a[j];
}
min=calculatemin(a,n);
max=calculatemax(b,n);
printf("The different is:%d\n",max-min);
scanf("%d",&n);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -