解题思路:先排序;首尾数相加与w比较,符合的筛出0;分类计算出非0的数
参考代码:
#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
int w;
int n;
int s[N];
int i,j,c=0,temp;
scanf("%d",&w);
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&s[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i;j<n;j++)
{
if(s[i]>s[j])
{
temp=s[i];
s[i]=s[j];
s[j]=temp;
}
}
}
for(i=0;i<n;i++)
{
for(j=n-1;j>0;j--)
{
if(s[i]+s[j]<=w && s[i]!=-1 && s[j]!=-1)
{
c++;
s[i]=s[j]=-1;
break;
}
}
}
for(i=0;i<n;i++)
{
if(s[i]!=-1)
{
c++;
}
}
if(n%2!=0)
{
if(2*s[(n-1)/2]>w)
{
c=c-1;
}
}
printf("%d",c);
return 0;
}
0.0分
0 人评分
1065浏览:874 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:506 |
Tom数 (C语言代码)浏览:784 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:627 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:762 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:645 |
母牛的故事 (C语言代码)浏览:1409 |
Hello, world! (C语言代码)浏览:1315 |
【蟠桃记】 (C语言代码)浏览:711 |
【数组的距离】 (C语言代码)浏览:787 |