1. 程式人生 > >c語言一些簡單的演算法(還會不定期更新)

c語言一些簡單的演算法(還會不定期更新)

/*
 *統計字串中字元個數
 *string 字串
 */
int length(char *string){
	int len = 0;
	while(!(*string == '\0')){
		string++;
		len++;
	}
	return len;
}
/*
 *把字串中的數字提取出來(直接提取)
 *string 字串
*/
int getNum(char *string){
	int num = 0;
	int chen = 1;
	int len = length(string);
	for(len;len >= 0;len--){
		if(string[len] >= '0' && string[len] <= '9'){
			num += (string[len]-'0') * chen;
			chen *= 10;
		}
	}
	return num;
}
/*
 *把字串中的數字提取(相加)
 *string 字串
*/
int getNumSum(char *string){
	int num = 0;
	int len = length(string);
	for(len;len >= 0;len--){
		if(string[len] >= '0' && string[len] <= '9'){
			num += (string[len]-'0');
		}
	}
	return num;
}
/*
 *從字串中提取數字轉換成數字陣列
 *string 字串
 *num 數字陣列
*/
int strNumArr(char *string,int *num){
	int i = 0;
	int j;
	for(j = 0;string[j] != '\0';j++){
		if(string[j] >= '0' && string[j] <= '9'){
			num[i] = string[j] - '0';
			i++;
		}
	}
	return i;
}