一、Review
17【C语言&趣味算法】爱因斯坦的数学问题
16【c语言&趣味算法】求车速问题
15【C语言&趣味算法】出售金鱼问题
14【c语言&趣味算法】三色球问题(数学中基础的排列组合问题)
13【C语言&趣味算法】分糖果问题。(数组名作为函数形参,亦即:形参数组名作指针变量)
12【c语言&趣味算法】存钱问题(四层for循环,if例断)
11【C语言&趣味算法】个人所得税问题((结构体应用)︰结构体的声明、定义结构体类型的三种方法等
10(可回看)【C语言&趣味算法】数制转换(常见,二进制、八进制、十进制、十六进制之间任意转换)
09【C语言&趣味算法】再识:折半查找(二分查找)︰基本思想、程序流程图及完整代码、附:顺序查找
08【C语言&趣味算法】再识:冒泡排序(问题分析、算法设计与分析、程序流程图以及完整代码)
07【C语言&趣味算法】最佳存款方案(采用从后往前递推解决)
06【c语言&趣味算法】牛顿迭代法求方程根(可回看)
05【C语言&趣味算法】经典:兔子产子问题(即:Fibonacci数列)
04【C语言&趣味算法】“抓交通肇事犯"问题。算法改进:设置"标识变量”,有效减少循环次数。
03【C语言&趣味算法】(值得品味的一道题)打鱼还是晒网?结构体的简单应用。函数的应用。判断闰年的应用。求指定日期距1990年1月1日的天数。
02【C语言&趣味算法】借书方案问题:小明有5本新书,要借给A、B、C三位小朋友,若每人每次只能借1本,则可以有多少种不同的借法?
01【C语言&趣味算法】百钱百鸡问题(问题简单,非初学者请忽略叭)。请注意算法的设计(程序的框架),程序流程图的绘制,算法的优化。
二、New Problem
2.1 Problem description and problem analysis
感觉,这题的描述其实挺迷的。
没关系,后面的程序看完,就可以明白了~
2.2 Algorithm analysis
2.3 Defining the framework of the process
2.4 Full code and output
//code by 追光者♂ //趣味18:猜牌术 问题 #include<stdio.h> int a[14]; int main() { int i,j=1,n; printf("魔术师手中的牌原始次序是:\n"); for(i=1;i<=13;i++) { n=1; do { if(j>13) j=1; if(a[j]) /*盒子非空*/ j++; else /*盒子为空*/ { if(n==i) a[j]=i; j++; n++; } }while(n<=i); } for(i=1;i<=13;i++) printf("%d ",a[i]); printf("\n"); }
输入如下: