C语言中二分法和插入排序案例,就两个!只涉及数组与函数内容,主要是别...
发布网友
发布时间:2023-12-28 00:09
我来回答
共1个回答
热心网友
时间:2024-08-01 12:09
你好,二分法
#include<stdio.h>
#define f(x) (x*x*x-2*x*x+3*x-4)
void main()
{ float a=-10,b=10,c,eps=1e-5;
while ((b-a)>eps)
{ c=(a+b)/2;
if(f(c)==0) break;
else if(f(a)*f(c)<0) b=c;
else a=c;
}
printf("root=%f\n",c);
}
插入排序
#include <stdio.h>
int main ()
{
int n[10];
int i, j, k;
int temp;
for (i = 0; i <= 9; i++)
{
printf ("请输入第%d个数:", i + 1);
scanf ("%d", &n[i]);
}
printf ("数组排序前效果如下\n");
for (i = 0; i <= 9; i++)
{
printf ("%d ", n[i]);
}
printf ("\n");
for (i = 1; i <= 9; i++)
{
for (j = i - 1; j >= 0; j--)
{
if (n[j] < n[i])
break;
}
if (j != i - 1)
{
temp = n[i];
for (k = i; k >= j + 1; k--)
n[k] = n[k - 1];
n[j + 1] = temp;
}
}
printf ("数组排序后效果如下\n");
for (i = 0; i <= 9; i++)
{
printf ("%d ", n[i]);
}
printf ("\n");
return 0;
}