C语言【二维数组应用】:混合两包豆子-创新互联
题目内容:
创新互联专注于企业成都营销网站建设、网站重做改版、双江网站定制设计、自适应品牌网站建设、H5建站、商城系统网站开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为双江等各大城市提供网站开发制作服务。根据某种制作豆浆的配方,需将红豆与黑豆按照数量3:2的比例混合。目前有5包豆子,这5包豆子中都是包含红豆和黑豆,现选2包豆子进行混合,请问如何将某2包豆子混合可以使得比例正好是3:2?
输入:10个整数,分别是第0包豆子中黑豆的数量、第0包豆子中红豆的数量、第1包豆子中黑豆的数量、第1包豆子中红豆的数量、第2包豆子中黑豆的数量、第2包豆子中红豆的数量、第3包豆子中黑豆的数量、第3包豆子中红豆的数量、第4包豆子中黑豆的数量、第4包豆子中红豆的数量。
输出:两包豆子的编号,从0开始计数,用空格隔开,小数在前大数在后,如果有多个组合则另起一行,如果没有符合要求的组合则输出-1
例如:
输入: 6 10 6 8 5 7 4 2 13 7
输出:0 1
由于题目涉及豆子颜色与袋数两个特征的数据,因此考虑用二维数组存储数据;
题目意思为,混合两包豆子(内含黑豆➕红豆)使得红:黑=3:2,理解题意很重要,因此想到利用循环,令第i包豆子与第j包豆子相加,利用二维数组,分别计算红豆与黑豆的加和,通过条件判断,将m,n作为输出工具,每找到一组i、j,就赋值给m,n进行输出。
代码部分:#includeint main()
{
int douzi[5][2];
int i,j,k=0,m=-1;
int n=-1;
for(i=0;i<5;i++)
{
for(j=0;j<2;j++)
{
scanf("%d",&douzi[i][j]);
}
}
for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
if(1.0*(douzi[i][1]+douzi[j][1])/(douzi[i][0]+douzi[j][0])==1.5)
{
if(i>j)
{
m=j;
n=i;
}
else
{
m=i;
n=j;
}
if(m!=-1)
{
printf("%d %d\n",m,n);
m=0;
n=0;
}
}
}
}
if(m==-1)
printf("-1");
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站名称:C语言【二维数组应用】:混合两包豆子-创新互联
网站地址:http://cdiso.cn/article/dodggj.html