动态函数调用实现下列操作,输入2个数以及操作符计算结果。@最大公约数$最小公倍数+和 -差
2014-07-31 09:02
525 查看
int maxDivisor(int a, int b); int maxDivisor(int a, int b){ int temp = 0,y = 0; if (b > a) { temp = a; a = b; b =temp; } y = a % b; while (y != 0) { a = b; b = y; y = a % b; } return b; } //求最小公倍数 int minMultiple(int a, int b); int minMultiple(int a, int b){ int i = 0; for (int i = a; i <= a * b; i++) { if (i % a == 0 && i % b ==0) { break; } } return i; } //求差 int poorValue(int a, int b); int poorValue(int a, int b){ return a - b; } //求和 int sumValue(int a, int b); int sumValue(int a, int b){ return a + b; } //重命名 typedef int(*PC)(int, int) ;//重命名 typedef struct sign{ char st; PC function; } Sign; PC findFunction(char n, Sign *p, int count){ for (int i = 0; i < count; i++) { if (n == (p + i)->st) { return (p + i)->function; } } return NULL; } int resultFunction(int a,int b,char *n,Sign *p,int count){ PC function = findFunction(*n, p, count); return function(a, b); } int main(int argc, const char * argv[]) { //2.动态函数调用实现下列操作,输入2个数以及操作符计算结果。 // @ 求最大公约数 $求最小公倍数 // - 求差 + 求和 等等 Sign sig[4] = { {'@',maxDivisor}, {'$',minMultiple}, {'-',poorValue}, {'+',sumValue} }; int m = 0, n = 0; char str[2] = {0}; printf("请输入你想要做的操作:如@$-+为:"); scanf("%c %d %d", str, &m, &n); int c = resultFunction(m, n, str, sig, 5); printf("%d", c); return 0; }
相关文章推荐
- 动态函数调用实现下列操作,输入2个数以及操作符计算结果。@ 求最大公约数 $求最小公倍数 - 求差 + 求和 等等
- 2.、动态函数调用实现下列操作,输入2个数以及操作符计算结果。 @ 求最大公约数 $求最小公倍数 - 求差 + 求和 等等
- 动态函数调用实现下列操作,输入2个数以及操作符计算结果。@求最大公约数 $求最小公倍数 -求差 +求和
- //2.、动态函数调用实现下列操作,输入2个数以及操作符计算结果。@ 求最大公约数 $求最小公倍数 - 求差+ 求和 等等
- 动态函数调用实现下列操作,输入2个数以及操作符计算结果@ 求最大公约数 $求最小公倍数 - 求差 + 求和 等等
- //动态函数调用实现下列操作,输入2个数以及操作符计算结果。@ 求最大公约数 $求最小公倍数 - 求差 + 求和 等等
- 动态函数调用实现下列操作,输入2个数以及操作符计算结果。 @ 求最大公约数 $求最小公倍数 - 求差 + 求和 等等
- java实现输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head
- shell基础:使用read、命令行脚本传参实现输入2个整数并计算
- salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现
- c语言扫描实现“菱形”数阵以及结果
- DataGrid控件实现编辑、删除、分类以及分页操作
- C#操作存储过程,输入参数,返回结果
- GridView实现多选操作以及全选或者全不选
- (六)线程--分别用lock以及Interlocked和Monitor类实现线程的临界区操作(互斥)(示例下载)
- 如何在DataGrid控件中实现编辑、删除、分类以及分页操作
- 实现对地址栏中的历史记录进行删除的操作,以及运行对话框的历史运行记录的删除.
- 使用存储过程 操作数据库 2个输入参数 1个输出参数
- C#操作存储过程,输入参数,返回结果
- 如何在DataGrid控件中实现编辑、删除、分类以及分页操作