以下C++编程题,求答案!

10.给定求组合数公式为: ,编一程序,输入m和n的值,求 的值。注意优化算法,降低溢出可能。要求主函数调用以下函数求组合数:
int Fabricate( int m, int n ) ; //返回 的值
Fabricate函数内又须调用Multi函数:
int Multi( int m, int n ) ; // 返回 m×m-1×…× n
程序由4个文件组成。头文件存放函数原型作为调用接口;其他3个cpp文件分别是main、Fabricate和Multi函数的定义。

(1)编写一个函数findmin,从含有10个整数的数组中找出最小数及其下标,并把它和数组中最前面的元素对换。函数返回最小数的下标。
要求在主函数中定义整数数组(34,91,83,56,29,93,56,12,88,72),输出此原始数组;调用函数findmin后,打印最小数的下标及最小数,并输出调整后的数组。
(2)在主函数中先定义并初始化一个整数组,数组元素按升序排列,输出该数组;再键入一个整数,然后调用函数ins把键入的数插入到原有的数组中,保持数组元素从小到大的排列顺序,并把最大数(有可能是刚插入的数)挤出。最后,在主函数中输出改变后的数组和被挤出的数。
E18. 编写程序,实现两个字符串比较的自定义版:int strcmp(const char* str1,const char* str2);
当str1>str2时,返回正数;
当str1==str2时,返回0;
当str1<str2时,返回负数;

E19. 编程。使用标准库函数qsort,对各类数组进行排序。函数原型为:
void qsort((void*)a,int size,int width,int(*fcmp)(const void*,const void*));
qsort函数在头文件stdlib.h中说明。
(1)对整数数组 (12,32,42,51,8,16,51,21,19,9) 排序。要求按每个元素各位数字之和,降序排列。例如,8>16。
(2) 对浮点数组 ( 32.1, 456.87, 332.67, 442.0, 98.12, 451.79, 340.12, 54.55, 99.87, 72.5 )排序。升序排列。例如,54.55<72.5。
(3)对字符串数组 ( enter, number, size, begin, of, cat, cap, program, certain, a )排序。升序排列,先按串长度排,若长度相等,再比较字符串的值。例如,cap<cat<size。
是分开的三道大题。您能完成多少是多少。。。

第1个回答  2010-05-31
唉~!题目太长了。。。。。我有点晕了
相似回答