Vote
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5904 Accepted Submission(s): 3124
每組數據的第一行包括一個整數N(1<=N<=101),表示美國的州數,N=0表示輸入結束
接下來一行包括N個正整數,分別表示每個州的選民數,每個州的選民數不超過100
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int a[150]= {0};
int main()
{
int n;
while(cin>>n&&n)
{
int k,t;
for(int i=1; i<=n; i++)
scanf("%d",&a[i]);
for(int i=1; i<n; i++)
{
k=i;
for(int j=i; j<=n; j++)
{
if(a[k]>a[j])
k=j;
}
t=a[k];
a[k]=a[i];
a[i]=t;
}
//sort(a,a+n);
int sum=0;
for(int i=1; i<=n/2+1; i++)
{
sum=a[i]/2+1 + sum;
}
printf("%d\n",sum);
}
return 0;
}
當然 也可以用sort排序代替選擇排序:
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int a[150]= {0};
int main()
{
int n;
while(cin>>n&&n)
{
int k,t;
for(int i=0; i<n; i++)
scanf("%d",&a[i]);
/*for(int i=1; i<n; i++)
{
k=i;
for(int j=i; j<=n; j++)
{
if(a[k]>a[j])
k=j;
}
t=a[k];
a[k]=a[i];
a[i]=t;
}*/
sort(a,a+n);
int sum=0;
for(int i=0; i<n/2+1; i++)
{
sum=a[i]/2+1 + sum;
}
printf("%d\n",sum);
}
return 0;
}