C

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C相关的知识,希望对你有一定的参考价值。

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

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

#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的主要内容,如果未能解决你的问题,请参考以下文章

C/C++ floor 函数

C语言数组问题?

关于c++/c

C语言 extern “C”

使用 MetroWerks C/C++ 开发的 C/C++ 资源

Lua与C/C++交互——C/C++调用Lua脚本