首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

、组合有关问题(从M个不同字符中任取N个字符的所有组合)

2012-08-29 
、组合问题(从M个不同字符中任取N个字符的所有组合)void find(char *source, char *result, int n) {???? i

、组合问题(从M个不同字符中任取N个字符的所有组合)
void find(char *source, char *result, int n) {
???? if(n==1) {
???????? while(*source)
???????? ?? printf(”%s%c\n”, result, *source++);
???? } else {
???????? int i, j;
???????? for(i=0; source[i] != 0; i++);
???????? for(j=0; result[j] != 0; j++);
???????? for(; i>=n; i-) {
????????????? result[j] = *source++;
????????????? result[j+1] = ‘\0′;
????????????? find(source, result, n-1);
???????? }
???? }
}
?
int main(int argc, char* argv[]) {
???? int const n = 3;
???? char *source = “ABCDE”, result[n+1] = {0};
???? if(n>0 && strlen(source)>0 && n<=strlen(source))
???????? find(source, result, 3);
}

热点排行