define N 3void test()
{
int a[N],temp;
printf("please input ten numbers\n");
for (int i = 0; i<N; i++)
{
scanf("%d",&a[i]);
}
printf("\n");
for (int i = 0; i<N; i++)
{
for (int j = 0; j < N-i-1; j++)
{
if (a[j]<a[j+1])
{
temp=a[j+1]; //将比较大的数赋值给temp
a[j+1]=a[j]; //将比较小的数赋值给数组中后面的变量
a[j]=temp;
}
}
}
for (int i = 0; i<N; i++)
{
printf("%d,",a[i]);
}
}
选择排序
void test()
{
int a[N], temp, max;
printf("please input ten numbers\n");
for (int i = 0; i < N; i++)
{
scanf("%d",&a[i]);
}
printf("\n");
for (int i = 0; i<N; i++)
{
max = i;
for (int j = i+1; j < N; j++)
{
if (a[j] > a[max])
{
max = j;
}
}
if (max != i)
{
temp = a[i];
a[i] = a[max];
a[max] = temp;
}
}
for (int i = 0; i<N; i++)
{
printf("%d,",a[i]);
}
}
最大公约数最小公倍数
//最大公约数和最小公倍数
void test12()
{
int a,b,temp,a1,b1;
if (a<b) {
temp = a;
a = b;
b = temp;
}
a1 = a,b1 = b;
while (b!=0)
{
temp = a%b;
a = b;
b = temp;
}
printf("最大公约数%d",a1*b1/a);
printf("最小公倍数%d",a);
}
分解质因数
//分解质因数void test10()
{
printf("please input a number\n");
int n;
scanf("%d",&n);
for(int i = 2;i<=n;i++)
{
while(n!=i)
{
if (n%i == 0)
{
printf("%d*",i);
n = n/i;
}
elsebreak;
}
}
printf("%d\n",n);
}
//斐波那契数列
//斐波那契数列
void test7()
{
int a0 = 0,a1 = 1,temp;
printf("please input month\n");
int month;
scanf("%d",&month);
if (month<=0) {
printf("第0个月,兔子的数量为0\n");
}else{
printf("1,");
for (int i = 2; i<=month; i++)
{
temp = a0;
a0 = a1;
a1 = temp + a1;
printf("%d,",a1);
}
printf("\n第%d个月,兔子的数量为%d\n",month,a1);
}
}
约瑟夫问题
void test41()
{
int i,n,*p,a[50];
p = a;
printf("please input total numbers:");
scanf("%d",&n);
for (i = 0; i < n; i++)
{
*(p + i) = i + 1;
}
int k = 0,m = 0;
i = 0;
while (m < n - 1)
{
if (*(p+i) != 0)
{
k++;
}
if (k == 3)
{
*(p + i) = 0;
k = 0;
m++;
}
i++;
if (i == n)//当循环到末尾时,改变角标
{
i = 0;
}
}
while (*p == 0)
{
p++;
}
printf("%d is left\n",*p);
}
冒泡排序define N 3void test(){ int a[N],temp; printf("please input ten numbers\n"); for (int i = 0; i<N; i++) { scanf("%d",&a[i]); } printf("\n"); for (int i = 0; i<N;