请编写一个函数comm(int n,int k),该函数将用递归算法计算从n个人中选择k个人组成一个委员会的不同组合数,由n个人里选k个人的组合数=由(n-1)个人里选k个人的组合数+由(n-1)个人里选(k-1)个人的组合数。
注意:部分源程序已存在文件test41_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数comm的花括号中填写若干语句。
源程序文件test41-2.cpp清单如下:
include<iostream.h>
int comm(int n, int k)
{
}
void main ( )
{
int n=7, k=3;
cout<<"n=7,k=3"<<endl;
cout<<comm(n,k)<<endl;
}
第1题:
请编写函数fun(),它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在 a所指的数组中,通过n返回这些数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <conio.h>
include <stdio.h>
void fun (int *a,int *n)
{
}
main()
{
int aa[1000], n, k;
clrscr();
fun(aa,&n);
for(k=0;k if((k+1)%10==0)
{printf("%5d",aa[k]);
printf("\n");} /*一行写9个数*/
else
printf("%5d ",aa[k]);
}
第2题:
请编写一个函数fun(),它的功能是:求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
例如,若传给m的值为50,则程序输出:
7 11 14 21 X 28 33 35 42 44 49
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
define M 100
void fun(int m, int *a, int *n)
{
}
main()
{
int aa[M],n,k;
clrscr();
fun(50,aa,&n);
for(k=0;k<n; k++)
if((k+1)%20==0) /*每行输出20个数*/
{printf("%4d",aa[k]);
printf("\n");
}
else
printf("%4d",aa[k]);
printf("\n");
}
第3题:
请编写一个函数intproc(int*s,intt,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 例如,输入如下整数: 876675896101999401980431451777 则输出结果为4,999。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序:

第4题:
请编写函数void countValue(int *a,int *n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数并存放在数组a中,并通过n返回这些数的个数。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDAT()的内容。
试题程序:
include<conio.h>
include<stdio.h>
void countValue(int *a, int *n)
{
}
main ( )
{
int aa[1000],n, k;
clrscr();
countValue (aa, &n);
for(k=0;k<n; k++)
if((k+1) %10 ==0)
{
printf("%5d",aa[k]);
printf("\n");
}
else printf("%5d",aa[k]);
writeDAT();
}
writeDAT ( )
{
int aa[1000],n, k;
FILE *fp;
fp=fopen("out79.dat","w");
countValue(aa,&n);
for(k=0; k<n; k++)
if((k+1)%10==0)
{
fprintf(fp,"%5d",aa[k]);
fprintf(fp,"\n");
}
else fprintf (fp,"%5d",aa[k]);
fclose(fp);
}
第5题:
请编写一个函数int fun(int *s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
例如,输入如下整数:
876 675 896 101 301 401 980 431 451 777
则输出结果为6,980。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <conio.h>
include <stdio.h>
int fun(int *s,int t,int *k)
{
}
main()
{
int a[10]={ 876,675,896,101,301,401,
980,431,451,777},k;
clrscr();
fun(a, 10, &k);
printf("%d, %d\n ", k, a[k]);
}