百变小樱的片头曲:用1,2,3,4这四个数可以组成一个四位数。编写程序,打印出所有可能的四位数,并统计出组成的四位数个数

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 02:13:22

#include <stdio.h>

/* 打印列表 */
void Print(int *arr) {
int item=0;
for (;*(arr+item);printf("%3d",*(arr+item)),item=*(arr+item));
printf("\n");
}
/* 函数 */
void Permute(int startI,int finishI,int *arr) {
int item=0;
do {
*(arr+startI)=*(arr+item),*(arr+item)=startI;
if (startI==finishI) Print(arr);
else Permute(startI+1,finishI,arr);
item=*(arr+item)=*(arr+startI);
}while (item);
}
/* main */
void main() {
int finishI,arr[50]={0};
printf("输入一个数字(不应该超过50):"),scanf("%d",&finishI);
Permute(1,finishI,arr);
}