<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[smell981的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/smell981</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; smell981]]></copyright><item><title><![CDATA[[算法导论] 15.1 动态规划初步   装配链c语言实现]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/42174747</link><guid>https://blog.youkuaiyun.com/smell981/article/details/42174747</guid><author>smell981</author><pubDate>Fri, 26 Dec 2014 18:03:46 +0800</pubDate><description><![CDATA[动态规划的基本特征 //TODO
动态规划的基本步骤 //TODO


装配链的DP实现：
#include 
#define N 100

void DP();
void init();
void printLine();
void printL(int *, int);

void printA(int a[3][N], int n, int m);

int n,
	e1, e2,]]></description><category></category></item><item><title><![CDATA[[C How To Program] 习题7.17   龟兔赛跑问题]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/42174605</link><guid>https://blog.youkuaiyun.com/smell981/article/details/42174605</guid><author>smell981</author><pubDate>Fri, 26 Dec 2014 17:49:32 +0800</pubDate><description><![CDATA[为了观察比赛过程， 每次移动中间，sleep了1s。好像挺带劲的。
#include 
#include 
#include 

int rabbitRun(int type);

int turtleRun(int type);

int main(){
	int rabbitX = 1, turtleX = 1, win = 0, s, i ,randWin;
	srand(time(NUL]]></description><category></category></item><item><title><![CDATA[[C How To Program] 习题6.35 二分查找]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/42174563</link><guid>https://blog.youkuaiyun.com/smell981/article/details/42174563</guid><author>smell981</author><pubDate>Fri, 26 Dec 2014 17:45:45 +0800</pubDate><description><![CDATA[#include 
#define N 10

void swap(int *a, int *b){
	int tmp = *a;
	*a = *b;
	*b = tmp;
}

void asort(int *a ,int n){
	int i, j;

	for(i = 1; i < n;i++){
		for( j = 0; j <= n - i - 1; j++){
			if(a[j] ]]></description><category></category></item><item><title><![CDATA[[C How To Program] 习题6.38 字符串反转打印]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/42174555</link><guid>https://blog.youkuaiyun.com/smell981/article/details/42174555</guid><author>smell981</author><pubDate>Fri, 26 Dec 2014 17:44:48 +0800</pubDate><description><![CDATA[#include 

void strReverseP(char s[]){
	if(s[0] == '\0'){
		return;
	}
	strReverseP( s+1 );
	printf("%c", s[0]);
}

int main(){
	char s[] = "this is a test";
	printf("src :%s\n",s);
	
	printf("after:"]]></description><category></category></item><item><title><![CDATA[[C How To Program] 习题6.39 递归求数组的最小值]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/42174521</link><guid>https://blog.youkuaiyun.com/smell981/article/details/42174521</guid><author>smell981</author><pubDate>Fri, 26 Dec 2014 17:42:52 +0800</pubDate><description><![CDATA[#include 
#include 
#define N 10

int min( int a, int b){
	return a < b ? a : b;
}

int minRecur(int *a, int start, int end){
	if( start == end ){
		return a[ start ];
	}
	return min(a[start], minRecu]]></description><category></category></item><item><title><![CDATA[[C How To Program] 习题6.32 递归的选择排序]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/42174505</link><guid>https://blog.youkuaiyun.com/smell981/article/details/42174505</guid><author>smell981</author><pubDate>Fri, 26 Dec 2014 17:41:30 +0800</pubDate><description><![CDATA[#include 

void selectSortRecur( int *, int , int);
void selectSort( int * , int);
void printA(int *a, int n);
void swap(int *a, int *b);

int main(){
	int a[] = {2,3,1,9,8,4,6,10,5};
	selectSort(a, s]]></description><category></category></item><item><title><![CDATA[[C How To Program]  习题6.30 erato_traverse]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/42174481</link><guid>https://blog.youkuaiyun.com/smell981/article/details/42174481</guid><author>smell981</author><pubDate>Fri, 26 Dec 2014 17:40:10 +0800</pubDate><description><![CDATA[#include 
#define N 1000

void init(int [], int);
void print_arr(int [], int n);
void erato_traverse(int [], int ,int);
int main(){
	int a[N], i;
	init(a, N);

	for(i = 2; i < N; i++){
		erato_travers]]></description><category></category></item><item><title><![CDATA[[C How To Program] 习题6.24c  骑士漫游问题]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/42174409</link><guid>https://blog.youkuaiyun.com/smell981/article/details/42174409</guid><author>smell981</author><pubDate>Fri, 26 Dec 2014 17:38:24 +0800</pubDate><description><![CDATA[骑士漫游问题的一个方法，设定每个放个的可访问性，对于每次访问，优先访问可访问性比较低的（比较难以到达的方格）。
这种方式可以保证在大多数情况的漫游是完全的漫游，却无法保证每一次都是完全漫游。
而且，这种方式只记录一种漫游方式，不会回溯，也就无法输出所有可能的漫游路径（如果要输出所有的漫游记录，需要回溯）


实现如下：
#include 
#include 
#define ROW 8]]></description><category></category></item><item><title><![CDATA[[数据结构-c语言版] 示例1.7c语言实现]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41931475</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41931475</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 22:45:57 +0800</pubDate><description><![CDATA[对书中的Max(), Min(),Get()等函数原型有修改，直接返回ElemType而不是使用e接收值。
需要注意的是：数组默认以引用传递。
实现如下：

1. 头文件：
#define OK 1
#define ERROR 0
#define OVERFLOW -1
#define ELEM_NUM 3

/* data type */
typedef int ElemType;
t]]></description><category></category></item><item><title><![CDATA[[C How To Program]  习题5.39 汉诺塔]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41928205</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41928205</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:36:43 +0800</pubDate><description><![CDATA[#include 
int count = 0;
void hanio( int );
void move( int, int );
void doh( int, int, int, int );
int main(){
	int i;
	for(i = 1;i <= 10; i++){
		count = 0;
		hanio(i);
		printf("%d of hanio :%d time]]></description><category></category></item><item><title><![CDATA[[C How To Program]  习题4.38]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41928195</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41928195</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:35:23 +0800</pubDate><description><![CDATA[#include 

long Fib( int );
long FibNoRecur( int );
int main(){
	int i = 1;
	while(i++ <= 100){
		printf("%d Fibo: %ld\n",i, FibNoRecur(i));
	}
}

long Fib( int n ){
	if( n == 0 || n == 1){
		return n]]></description><category></category></item><item><title><![CDATA[[C How To Program]  习题5.37  x的n次方]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41928121</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41928121</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:31:37 +0800</pubDate><description><![CDATA[#include 

int power( int, unsigned int);

int main(){
	int base, comp;
	while(1){
		scanf("%d %d", &base, &comp);
		printf("%d^%d = %d\n", base, comp, power( base, comp ));
	}
}

int power( int base,]]></description><category></category></item><item><title><![CDATA[[C How To Program]  习题5.32 学习算术]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41928083</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41928083</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:30:22 +0800</pubDate><description><![CDATA[#include 
#include 

int main(){
	int a, b, mul, status;
	srand( time(NULL) );	
	while(1){
		status = 0;
		a = (rand() % 9) + 1;
		b = (rand() % 9) + 1;
		printf("%d * %d = ", a, b);

		while(status =]]></description><category></category></item><item><title><![CDATA[[C How To Program]  习题5.28-最大公约数]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41928067</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41928067</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:29:22 +0800</pubDate><description><![CDATA[#include 

int gcd( int a,int b );
int max(int ,int);
int min(int ,int);
int main(){
	int a, b;
	scanf("%d%d",&a, &b);
	printf("a=%d,b=%d,",a, b);
	printf("gcd=%d",gcd(a ,b));

}

int gcd( int a, int ]]></description><category></category></item><item><title><![CDATA[[C How To Program]  习题5.22]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41928031</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41928031</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:27:55 +0800</pubDate><description><![CDATA[#include 

int main(){
	int num,numCopy,factor = 10000,digit;
	scanf("%d",&num);
	numCopy = num;
	
	while(numCopy >= 1){
		digit = numCopy / factor;
		numCopy %= factor;
		factor /= 10;
		if(digit > 0]]></description><category></category></item><item><title><![CDATA[[C How To Program]  5.00 投色子游戏]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41928009</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41928009</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:26:51 +0800</pubDate><description><![CDATA[#include 
#include 
#define FACE 6
#define ROLLTIME 6000

int rand_range( int a, int b);
void show_array(int a[], int );
int roll_two();

int main(){
	int a[FACE + 1], i, r;
	for(i = 0; i <= FACE; i++]]></description><category></category></item><item><title><![CDATA[[C How To Program] 习题3.46]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41927999</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41927999</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:25:16 +0800</pubDate><description><![CDATA[/* number of 4 */
#include 
#define FAC 10

int crypt( int n);
int decrypt( int n);
int mc( int n, int );
int getSalt();
int getDeSalt();

int main(){
	int num;
	scanf("%d",&num);
	printf("crypt:%d\n"]]></description><category></category></item><item><title><![CDATA[[C How To Program] 习题3.38]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41927993</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41927993</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:24:14 +0800</pubDate><description><![CDATA[#include 

int numOfX(int ,int);
int numX(int ,int);
void printS();
int main(){
	int num;
	scanf("%d",&num);
	printf("%d\n",numOfX(num,7));
	printS();
}

int numOfX(int n ,int x){
	int numCopy = n;
	i]]></description><category></category></item><item><title><![CDATA[[C How To Program]  习题 3.36]]></title><link>https://blog.youkuaiyun.com/smell981/article/details/41927947</link><guid>https://blog.youkuaiyun.com/smell981/article/details/41927947</guid><author>smell981</author><pubDate>Sun, 14 Dec 2014 20:20:55 +0800</pubDate><description><![CDATA[#include 
int b2Int(int);
int main(){
    int n;
    scanf("%d",&n);
    while(n != -1){
        printf("%d\n",b2Int(n));
        scanf("%d",&n);
    }
}

/* 1十进制表示的二进制串 */
int b2Int(int n){
    int n]]></description><category></category></item></channel></rss>