码迷,mamicode.com
首页 > 其他好文 > 详细

C(3)

时间:2017-05-22 22:11:08      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:min   .com   printf   输出   and   大于   条件语句   amp   blog   

多次运用循环,条件语句,定义数组,排序

旅行团需要租帆船进行冒险活动,一条帆船最多乘坐两人,且乘客的总重量不能超过帆船的最大载重。为尽可能的减少活动花销,你要找出最少帆船条数。现写一个程序,输入帆船的最大载重(应大于旅客中最大重量)、旅客数量和每位旅客的重量,求出最少所需的帆船数。

#include<stdio.h>
main()
{
static int w,n,r,p,m,max,min;
static int a[300],i,j,t,k;
printf("以空格间隔,输入帆船对大承载量(80<=w<=200)和参与人数(1<=n<=300):");
scanf("%d %d",&w,&n);
printf("\n自动生成参与者的重量:\n");
for(i=0;i<=n-1;i++)
{
a[i]=rand()%(130-30+1)+30;
printf("%4d",a[i]);
if((i+1)%10==0)
printf("\n");
}
printf("\n");
for(i=0;i<n-1;i++)
for(j=0;j<n-(i+1);j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(j=0;j<n;j++)
{
printf("%4d",a[j]);
if((j+1)%10==0)
printf("\n");
}
printf("\n");
j=0;
i=n-1;
for(m=1;m<=n;m++)
{
max=a[i];
min=a[j];
if(max+min<=w)
{
i--;
j++;
k++;
}
else
{
i--;
k++;
}
if(i<=j)break;
}
printf("\n总共需要%d只帆船\n",k);
}

 技术分享

没能实现输出全部组合

技术分享

 

C(3)

标签:min   .com   printf   输出   and   大于   条件语句   amp   blog   

原文地址:http://www.cnblogs.com/grzgrz/p/6891557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!