C练习(二)
来源:互联网 发布:斑马网络 上汽撤资 编辑:程序博客网 时间:2024/05/21 16:55
1.假设a,b,c是3个互不相等的整数。取出它们中居中的数值,记录在m中。其中的swap()函数可以交换两个变量的值。
if(a>b) swap(&a, &b);
if(b>c) swap(&b, &c);
if(a>b) swap(&a,&b);
int m = b;
2, 下面函数的目的是求出某个日期是该年度的第几天。试完善之。
如果传入:year=1980,month=1, day=1
则返回 1
如果传入:year=1980,month=2, day=1
则返回 32
int getDayOfYear(int year, int month, int day)
{
int days [2][12]={{31,29,31,30,31,30,31,31,30,31,30,31},
{31,28,31,30,31,30,31,31,30,31,30,31}}
int flag =(year%4==0&& year%100!=0) || year%400 == 0 ? 1 : 0;
int sum = day ;
for(int i=0;i<month;i++) {
sum += days[flag][i];
}
return sum;
}
3.计算3个A,2个B可以组成多少种排列的问题(如:AAABB, AABBA)是《组合数学》的研究领域。但有些情况下,也可以利用计算机计算速度快的特点通过巧妙的推理来解决问题。下列的程序计算了m个A,n个B可以组合成多少个不同排列的问题。请完善它。
int f(int m, int n)
{
if(m==0 || n==0) return 1;
return f(m,n-1)+f(m-1,n);
}
1. 代码填空(满分10分)
(a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:1 2 1, 1 3 3 1,1 4 6 4 1。这些系数构成了著名的杨辉三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
下列的程序给出了计算第m层的第n个系数的计算方法,试完善之(m,n都从0算起)。
int f(int m, int n)
{
if(m==0) return 1;
if(n==0 || n==m) return 1;
return ______f(m-1,n-1)+f(m-1,n)______;
}
- C练习(二)
- c语言练习(二)
- C语言练习(二)
- linux c 多线程编程练习(二)
- C语言练习作业(二)
- C初级阶段练习题目(二)
- C语言笔试练习(二)
- C语言基础练习(二)
- c语言综合练习二
- c 语言指针练习<二>
- C语言编程练习(二)
- C/C++专项练习 (二)
- C语言编程练习二
- c语言程序练习二
- c语言练习一.二
- c primer pius 练习二
- C语言----------------指针小程序练习(二)
- C语言----------字符串小程序练习(二)
- MySQL学习之路_SELECT语句
- 解决pip升级问题:关闭Mac的System Integrity Protection的方法
- Ubuntu Error : panic --not syncing: Attempt to kill init!
- 导出PDF文件中的公式LaTeX源码:翻译英文文献时的一些有用工具和心得
- Windows下交换Capslock和左Ctrl的方法
- C练习(二)
- VS2010无法启动调试问题解决方法小结
- 关于三维重建Cosplayer手办应用探讨
- python常用模块
- ucos+emWin+RA8875 横屏 竖屏 切换(基于红牛板)
- 揭开google为android打造的响应式编程——agera面纱
- Node.js 之 cli-color
- Java学习手册
- python部分常用命令