C语言和matlab - 向晴126

C语言和matlab

分别用C语言和matlab实现二分法查找数据

从形式上能够发现区别是,matlab是一句一句编译的,而c语言是对一个完整的代码段进行编译的,并且c中有头文件(#include(...)),而matlab中没有,对于数值运算matlab是很简便强大的,c就有点繁琐,对于算法要求c相对更高点。

具体例子如下:

C语言

#define M 10

#include<stdio.h>

void main()

{

static int a[M]={-12,0,6,16,23,56,80,100,110,115};

int n, low, mid, high, found;

low=0;

high=M-1;

found=0;

printf("Input a number to be searched:");

scanf("%d", &n);

while(low<=high)

{

mid=(low+high)/2;

if (n==a[mid])

{

found = 1; break;

}/*找到,结束循环*/

else if (n > a[mid])

low=mid+1;

else

high=mid-1; }

if (found==1)

printf("The index of %d is %d",n,mid);

else

printf("There is not %d",n); }

mtalab实现程序如下:

 x=fix(100*rand);
  n=7;
  test=1;
  for k=1:7
numb=int2str(n);
disp(\'a guess is a number between 0 and 100\')
guess=input(\':\');
if guess<x
disp(\'low\')
elseif guess>x
disp(\'high\')
else disp(\'you win\')
test=0;
break;
end
n=n-1;
end
if test==1
disp(\'you lost\')

  

发表于 2016-06-22 20:01 向晴126 阅读(127) 评论(0) 编辑收藏举报