设为首页 加入收藏

TOP

C语言学习_test2
2015-01-22 21:27:09 来源: 作者: 【 】 浏览:63
Tags:语言学习 _test2

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;
}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇YL-236点阵汉字LED显示C语言 下一篇C语言学习_test3

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: