TA的每日心情 | 开心 2014-6-18 08:29 |
---|
签到天数: 14 天 [LV.3]偶尔看看II
滴水大师
 
- 积分
- 2345
|
题目
解决代码及点评
- <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code">
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- void swap525(int *p,int *q)
- {
- int temp= *p;
- *p=*q;
- *q=temp;
- }
- void PrAllC525(int arr[],int length,int first)
- {
- if (length==first+1)
- { int **Brr;
- Brr=(int **)malloc(sizeof(int*)*length);
- for(int j=0;j<length;j++)
- Brr[j]=(int *)malloc(sizeof(int *)*length);
-
- //int Brr[5][5]={0};
- for (int i=0;i<length;i++)
- {
- int temp=arr;
- int wz=0;
- for (int j=0;j<length;j++)
- {
- if (arr[j]==i+1)
- { wz=j;
- break;
- }
- }
- wz=(wz+1)%length;
- for (int k=1;k<length;k++)
- {
- Brr[k][arr[wz]-1]=temp;
- wz=(wz+1)%length;
- }
- }
- for (int i=0;i<length;i++)
- {
- Brr[0]=arr;
- }
- printf("\n");
- for (int i=0;i<length;i++)
- {
- for(int j=0;j<length;j++)
- {
- printf("%d",Brr[j]);
- }
- printf("\n");
- }
- for(int i=0;i<length;i++)
- free(Brr);
- free(Brr);
- return;
- }
- else
- {
- for (int i=first;i<length;i++)
- {
- swap525(&arr,&arr[first]);
-
- PrAllC525(arr,length,first+1);
- swap525(&arr,&arr[first]);
- }
- }
- }
- void main()
- {
- int arr[]={1,2,3,4,5};
- int n=sizeof(arr)/sizeof(int);
- PrAllC525(arr,n,0);
- printf("8的个数太多了 想打就把上面的数组改成8位的");
- system("pause");
- }</pre><br><br></pre></pre>
|
|