问答题
下列给定程序中,函数proc()的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
int proc()
{
int i, j, k, sum=0;
printf("/nThe result: /n/n");
//****found****
for(i=0; i<=3; i++)
{
for(j=1; j<=5; j++)
{
k=8-i-j;
//****found****
if(k>=1&&k<=6)
{
sum=sum+1;
printf("red: %4d white: %4d
black: %4d/n", i, j, k);
}
}
}
return sum;
}
void main()
{
int sum;
sum=proc();
printf("sum=%d/n/n", sum);
}