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">/************************************************************************/
- /*
- 6. 用选择法对10个整数由大到小排序。
- */
- /************************************************************************/
- #include <stdio.h>
- #include <stdlib.h>
-
- void SortSelect(int * arr,int num)
- {
- for (int i=0;i<num;i++) // 遍历所有数
- {
- int min=i;
- for (int j=i+1;j<num;j++) // 被遍历的那个数,和它后面的所有数进行比较,找出最小的那个数
- {
- if (arr[j]<arr[min])
- {
- min=j;
- }
- }
- if (min!=i) // 最后作交换,把当前最小的数换到当前i的位置
- {
- arr[min]^=arr;
- arr^=arr[min];
- arr[min]^=arr;
- }
- }
- }
- void printfArr6(int *arr ,int n)
- {
- for (int i=0;i<n;i++)
- {
- printf("%4d",arr);
- }
- printf("\n");
- }
- void main()
- {
- int arr[100]={0};
- for (int i=0;i<100;i++)
- {
- arr=rand()%100; // 产生100个随机数
- }
- printfArr6(arr,100);
-
- SortSelect(arr,100); // 选择排序
- printfArr6(arr,100);
- system("pause");
- }</pre><br><br></pre>
|
|