从1,2,3,4,5这五个数中选三个有多少种可能(用深搜做)
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊我完全不会改!谁帮帮我,吧‘n个数的全排列’改成‘从1,2,3,4,5这五个数中选三个有多少种可能(用深搜做)’!
程序代码:
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(void) { int a[3],i,j,temp,flag; /*flag用来标记取到的随机数和之前的有没有重复,1代表有重复,0代表没有重复 */ srand(time(0)); for(i=0;i<3;i++) { flag=0; temp=rand()%10+1; for(j=0;j<i;j++) { if(temp==a[j]) //如果有重复 { flag=1; break; } } if(flag==1) //i--为了抵消for循环括号里的i++ { i--; continue; //重新取数 } else { a[i]=temp; } } for(i=0;i<3;i++) printf("%d\n",a[i]); return 0; }
尽快!