博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求1+2+…+n
阅读量:5324 次
发布时间:2019-06-14

本文共 426 字,大约阅读时间需要 1 分钟。

要求不能使用乘除法、for、while、if、else、switch、case等关键字

以及条件判断语句(A?B:C)

 

 

typedef int (*fptrSum)(int n);

struct M{

fptrSum Sum;

};

struct M A[2];

int Sum0(int n)

{

return n;

}

 

int Sum1(int n)

{

return A[!!(n-1)].Sum(n-1) + n;

}

 

int main()

{

int val = 0;

int n = 100;

A[0].Sum = Sum0;

A[1].Sum = Sum1;

 

val = A[1].Sum(n);

 

printf("%d",val);

 

system("PAUSE");

}

 

这道题的关键就是多态,函数指针的使用,根据n值决定到底使用哪个求和函数

转载于:https://www.cnblogs.com/SLVR/p/3415385.html

你可能感兴趣的文章
Markdown
查看>>
python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)
查看>>
计算机基础小结
查看>>
java方法里面生成js弹出框
查看>>
理解多级指针
查看>>
冲刺2 05
查看>>
android Animation整理
查看>>
不同格式的ip 统一转成ip列表
查看>>
Water Tree(树链剖分+dfs时间戳)
查看>>
2019.1.22 工作日志
查看>>
POJ 1306 Combinations
查看>>
hdu 3496 Watch The Movie
查看>>
托管代码分析和代码度量
查看>>
centos 编译安装pcre软件
查看>>
BZOJ3807 : Neerc2011 Lanes
查看>>
jQuery实现点击空白关闭目标元素的方法
查看>>
codevs2596 售货员的难题(状压dp)
查看>>
一次心惊肉跳的服务器误删文件的恢复过程
查看>>
基于Java的打包jar、war、ear包的作用与区别详解
查看>>
Redis学习笔记之基础篇
查看>>