程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言學習_test2

C語言學習_test2

編輯:關於C語言

1.互滿數

#include
#include


int fun(int n);
int main(void)
{
int x, y;
for(x = 1; x< 3000; x++)
{
for(y = 1; y < x; y++)
{
if(fun(x) == y && fun(y) == x)
printf("%d %d\t", x, y);
}


}
return 0;
}


int fun(int n)
{
int i, sum = 0;
for(i = 1; i <= sqrt(n); i++)
{
if(n % i == 0)
sum = sum + i;
}
return sum;
}

2.快速排序

#include
#include
#include
#define N 1000


void quick_sort(int a[N+1], int left, int right)
{
int i, j, temp;
if(left < right)
{
temp = a[left];
i = left;
j = right;
while (i != j)
{
while(a[j] <= temp && j > i)
j--;
if(j > i)
a[i++] = a[j];
while(a[i] >temp && j > i)
i++;
if(j > i)
a[j--] = a[i];
}
a[i] = temp;
quick_sort(a, left, i-1);
quick_sort(a, i+1, right);
}
}
int main(void)
{
int i;
int a[N+1];
srand(time(NULL));
for(i=1;i<=N;i++)
a[i] = rand()%N+1;
printf("\n 按原序輸出: \n");
for(i=1;i<=N;i++)
printf("%8d", a[i]);
system("pause");
quick_sort(a, 1, N);
printf("\n 按新序輸出: \n");
for(i=1;i<=N; i++)
printf("%8d", a[i]);
printf("\n");


return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved