12. 编写函数int fun(int k),功能:从5个红球, 6个白球,7个黑球中任意取出k(2≤k≤18)个球作为一组进行组合。在每组中,可以没有红球和白球,但必须要有黑球。不同组合的数目作为函数值返回。例如,若k为8时,正确的组合数是31;若k为2时,正确的组合数是3;或k为3时,正确的组合数是6 。 #include
return sum; }
void main() { int x,n;
scanf(\ n=fun(x);
printf(\}
13. 编写函数void fun(char *str),功能:对形参str所指字符串中的字符按ASCII码升序排序。例如,下面程序运行时输入:The C Programming Language<回车> 输出: CLPTaaaeegggghimmnnorru #include void main() { char s[100]; gets(s); fun(s); puts(s); } 也可以采用冒泡法进行排序。 这里用的是换位法排序。 14. 请编写函数void fun(int *a, int n, int y),它的功能是:把y值插入到有n个数的a数组中,a数组中的数已按由大到小的次序排好,y的值从键盘读入。 插入后,数组中的数仍然有序。对照下面三种情况运行程序: 1) 插在最前 2) 插在最后 3) 插在中间 若输入数11, 输出 20 18 16 14 12 11 10 8 6 4 2 输入数1, 输出 20 18 16 14 12 10 8 6 4 2 1 输入数33, 输出 33 20 18 16 14 12 10 8 6 4 2 #include void fun(int *a,int n,int y) { int i,j,t; a[n]=y; 将要插入的数放到最后,然后整体用冒泡法排序。 for(i=0;i 15. 编写函数int fun(char *s1,char *s2),在字符串s1中统计字符串s2出现的次数并返回。若s2在s1中未出现,则返回0。例如: 若输入的字符串s1为:abaaAabcaabbabca,字符串s2为:ab ,则程序输出:n=4 若输入的字符串s1为:abaaAabcaabbabca,字符串s2为:abd,则程序输出:No find #include int fun(char *s1,char *s2) { int i,j,m=0,n=0; for(i=0;i if(m==0) n++; m=0; } return n; } void main() { char a[80],b[40]; int n; printf(\ gets(a); printf(\ gets(b); n=fun(a,b); if(n==0) printf(\ else printf(\} i+j是为了再返回原来的起点。。。 每使用完一次m要将其归0. 16. 编写函数int fun(char *str),功能是:统计字符串str中不同字符的个数并做为函数值返回。例如,下面程序运行时若输入:One world,One dream! 输出:n=13 #include void main() { char s[80]; int n; gets(s); n=fun(s); printf(\} 采用嵌套循环,将每一个数和它前面的进行比较,如果没有重复则加一。