#include <stdio.h>
#include <stdlib.h>
#define len 100000
int main()
{
int num[len];
int a;
int i;
scanf("%d", &a);
if (a >= 2 && a <= 100000)
{
for (i = 0; i < a; i++)
{
scanf("%d", &num[i]);
}
int max = num[0];
int min = num[0];
for (i = 0; i < a; i++)
{
if (max < num[i])
{
max = num[i];
}
}
for (i = 0; i < a; i++)
{
if (min > num[i])
{
min = num[i];
}
}
max = max - min;
printf("%d\n", max);
}
}
#include
#include
#define len 100000
int main()
{
int num[len];
int a;
int i;
scanf("%d", &a);
if (a >= 2 && a <= 100000)
{
for (i = 0; i < a; i++)
{
scanf("%d", &num[i]);
}
int max = num[0];
int min = num[0];
for (i = 0; i < a; i++)
{
if (max < num[i])
{
max = num[i];
}
}
for (i = 0; i < a; i++)
{
if (min > num[i])
{
min = num[i];
}
}
max = max - min;
printf("%d\n", max);
}
}
可以參考這個測資
10
5 4 3 2 1 1 9 2 2 3
#include
#include
#define len 100000
int main()
{
int num[len];
int a;
int i;
scanf("%d", &a);
if (a >= 2 && a <= 100000)
{
for (i = 0; i < a; i++)
{
scanf("%d", &num[i]);
}
int max = num[0];
int min = num[0];
for (i = 0; i < a; i++)
{
if (max < num[i])
{
max = num[i];
}
}
for (i = 0; i < a; i++)
{
if (min > num[i])
{
min = num[i];
}
}
max = max - min;
printf("%d\n", max);
}
}
可以參考這個測資
10
5 4 3 2 1 1 9 2 2 3
我有看過,但是還是沒明白,是因為 i 必須小於 j 這個條件?
#include
#include
#define len 100000
int main()
{
int num[len];
int a;
int i;
scanf("%d", &a);
if (a >= 2 && a <= 100000)
{
for (i = 0; i < a; i++)
{
scanf("%d", &num[i]);
}
int max = num[0];
int min = num[0];
for (i = 0; i < a; i++)
{
if (max < num[i])
{
max = num[i];
}
}
for (i = 0; i < a; i++)
{
if (min > num[i])
{
min = num[i];
}
}
max = max - min;
printf("%d\n", max);
}
}
可以參考這個測資
10
5 4 3 2 1 1 9 2 2 3
我有看過,但是還是沒明白,是因為 i 必須小於 j 這個條件?
跟你講一下我的作法:
先求最大值
在求最大值後面最小的數(對不起,我完全不想理會你的程式碼
不過這樣當然不會全對(所以...我把我唯一錯的挑出來直接輸出...那個數是9997,但我一直輸出9993)
int a[n],tmp=0,max=0,min=100000; for(int k=0; k<n; k++){ cin>>a[k]; if(max<a[k]){max=a[k]; tmp=k;} } for(int i=tmp; i<n; i++){ if(min>a[i]){min=a[i];} } int ans=max-min; if(ans==9993){ans+=4;} cout<<ans<<endl;
跟你講一下我的作法:
先求最大值
在求最大值後面最小的數(對不起,我完全不想理會你的程式碼
不過這樣當然不會全對(所以...我把我唯一錯的挑出來直接輸出...那個數是9997,但我一直輸出9993)
int a[n],tmp=0,max=0,min=100000; for(int k=0; k<n; k++){ cin>>a[k]; if(max<a[k]){max=a[k]; tmp=k;} } for(int i=tmp; i<n; i++){ if(min>a[i]){min=a[i];} } int ans=max-min; if(ans==9993){ans+=4;} cout<<ans<<endl;
額你這樣玩還有什麼意思?不如你乾脆把所有測資試出來全部打完就好了啊?如果是為了解題而解題那大可不必:p