1. 请帮我推荐几个比较智能的c语言开发工具,有代码提示的那种,谢谢
您好,1、VC6:这个是最经典的一个C/C++开发工具,毕竟是微软的东西,所以非常好用。不过VC6的主要缺点是体积太大,有的同学是在网吧、学校机房等场合学习编程,如果电脑上没有VC6的话就需要下载(安装包要500MB左右)、安装,非常耗时。而且VC6和Vista系统、卡巴斯基等软件有冲突,经常崩溃。毕竟是98年的软件了,微软已经不提供支持了。
2、VC2005/VC2008:也被称为VC7,它是VC6的升级版本,支持新的C/C++语法标准以及新的库文件。同时VC7继承了VC6的所有优点,而且继承并发扬了VC6体积大的“优点”,一个安装包最小也要1G,完整安装要3G。
3、Dev C++:曾经非常牛气的一个免费的C/C++开发工具,体积非常小,只有9M多一点,代码高亮、自动完成等都做的非常好。不过Dev C++稳定性不是很好,经常崩溃,而且Dev C++最近一次更新是在2005年,可以看到作者已经放弃了这个软件,因此那些Bug也无法被修改了。Dev C++有官方中文语言包。
4、Code::Blocks:目前最如日中天的开源且免费的C/C++开发工具,跨平台,可以在Windows/Linux等平台下运行,体积比较小,只有不到20M。Code::Blocks一直在飞速发展,因此支持最新的C/C++语法和最新的库文件。因此很多专业开发人员都推荐使用Code::Blocks。不过Code::Blocks的代码智能提示和自动完成功能做的不是很好,这恰恰是对于初学者来说比较重要的地方。而且Code::Blocks没有官方中文语言包,满屏幕的英文对于初学者来说难度比较大。
5、C-Free:国产的C/C++开发工具。体积非常小,只有不到9M。C-Free的代码智能提示和自动完成、代码高亮以及代码导航等功能做的非常好,可以说是无可挑剔,这对初学者来说是最重要的;C-Free的启动速度也非常快。国产软件肯定是中文界面了,:)。
6、Pelles C:非常强大的C语言开发工具。比C-Free还好用,不过缺点是没有中文版的。
2. 怎么用C语言编写人工智能程序
如果是没有学习过的话,有一定的难度,建议先去学习。
人工智能代表的范围太大了 C是必不可少的一部分 不能说是有直接关系 可以说是一个必备的组成部分;
人工智能实际的范围和实际应用:机器视觉,指纹识别,人脸识别,视网膜识别,虹膜识别,掌纹识别,专家系统,自动规划,智能搜索,定理证明,博弈,自动程序设计,智能控制,机器人学,语言和图像理解,遗传编程等,
其中几项和C语言、自动化、必不可分。
能力有限,不熟悉人工智能这块。
3. C语言能做人工智能吗
理论上讲是在于算法
但在具体的实现上,同一问题用不同的语言解决的时候的算法设计是有区别的,即使实现了,那在效率也是有差别的
据我所知,LISP是人工智能程序语言(很少听说听C做人工智能的)
标题:LISP人工智能程序语言
内容:
LISP的由来
LISP是一种计算机的表处理语言,是函数型语言。它是LIST Processing 的缩写,是研究人工智能的有力工具。
LISP最初是作为书写字符与表的递归函数的形式系统出现的,1958年由美国麻省理工学院(MIT)的AI小组提出(要为问答系统设计一种语言),1960年由MIT的John.McCarthy教授(麦卡西教授,举世闻名的计算机科学家,图灵奖获得者,后为美国斯坦福大学教授)整理成统称为LISP1.0的形式发表,然后开始流行于AI界.以后陆续出现了LISP1.5(1962年),LISP1.6,MACLISP,INTERLISP,COMMONLISP,GCLISP,CCLISP等等变种。商业中一般认Berkeley(加洲大学)的LISP1.5为规范,但以目前的发展看,COMMON LISP将成为一种标准,有统一各种LISP “方言”的趋势。在众多不同版本的流行LISP语言中,使用最广泛的是INTER LISP(XEROX公司开发),MACLISP(麻省理工学院开发)和COMMON LISP。LISP是继FORTRAN(FORTRAN是1954年提出,1956年开始使用)之后出现的第二个古老的(1958年提出,1960年开始使用)计算机高级语言,至今使用近四十年仍受重视,并为人工智能的发展作出了不可磨灭的贡献.由此可见LISP是一门历史悠久,用途广泛,功能极强,生命力极强的人工智能程序设计语言。
LISP语言一般为解释型语言(即由解释程序边解释边执行),但也有了编译型的LISP语言,并已经有了专用的LISP机。例如,编译型的LISP语言SCHEME诞生于麻省理工学院,1984年由美国15个大学和公司共同提供了被广泛接受的SCHEME标准。德克萨斯仪器公司于1985年在IBM PC机上实现了称为PC SCHEME的语言。PC SCHEME的中文版由南京大学和武汉大学联合开发,可在640KB以上的PC机上在CCDOS和MSDOS下运行并可访问其它DOS程序。
LISP语言的主要特点(优点)
(1) LISP具有和图灵机相同的(也就是理论上最高的)计算能力;
在计算机科学的可计算理论中,人们已经证明递归函数和图灵机具有相同的(也就是理论上最高的)计算能力,通常指的是自然数集上的递归函数。这个结论对符号集上的递归函数也成立。J.McCarthy在LISP中设计了一套符号处理函数,它们具有符号集上的递归函数的计算能力,因此原则上可以解决人工智能中的任何符号处理问题。
(2)数据类型的唯一性,程序与数据的一致性;
LISP的数据类型和句法结构简单,甚至简单到具有唯一性和一致性:其数据和程序的表现形式是一样的, 都是用S-表达式一种形式.基本的数据结构是表(表是S-表达式的特例)。
(3)数据和程序的 等价性;
LISP的数据和程序不仅类型一致,而且作用也等价;
即:程序可作为数据被处理,数据也可作为程序来执行。
(4)LISP一切功能由函数来实现,程序的运行就是求值;
LISP程序的通常形式是一串函数定义,其后跟着一串带有参数的函数调用,函数之间的关系只是在调用执行时才体现出来。
(5)LISP语言的控制结构以递归为主;
大多数语言使用的控制结构是以循环为主的,有的程序语言允许递归,而LISP以递归形式为主。递归是LISP能力的源泉。当然现在LISP也有循环结构和迭代。
(6)原子可以有任意多个值(特性值);
LISP非常重要的一个特点是每个文字原子可以加许多特性,每个特性有一个特性表及对应的特性值。由于原子的多值性给使用者带来很多方便,给问题表示带来好处,使LISP很好用。
(7)LISP具有表的结构形式和规模的灵活性,不必预先设定;
(8)具有收集无用单元的功能。
LISP语言的主要缺点
(1)初学者不容易习惯LISP的句法结构,特别是多层表的括号配对写法;
(2)数据类型少(常用的只有表和原子),使其表达能力受限;
(3)规范性差(无标准版本,不同的LISP文本间差别较大);
(4)程序的可读性不及一般的高级语言;
(5)执行速度慢。
LISP执行速度慢的原因有几个:(1)一般的 LISP是解释型, 程序边解释边执行当然比编译型慢;(2)LISP的控制结构主要是递归, 递归费时间费空间;(3)内存空间动态变化。LISP不要求用户在程序 中写一些用来指示内存分配的说明语句,全部内存必须动态的分配,直到 没有空间时才开始收集无用单元。
4. c语言 编写一个智能聊天工具
可以使用智能聊天机器人的接口来做
下面是一个简单的使用小耗子机器人提供的接口的聊天代码
#include<stdio.h>
#include<string.h>
#include<curl/curl.h>
#include<stdlib.h>
#defineBOT_SER"https://brisk.eu.org/smbot/sm.php"
typedefstruct
{
size_tlen;
char*msg;
}MSG;
size_tget_data(char*ptr,size_tsize,size_tnmemb,MSG*msg)
{
msg->msg=realloc(msg->msg,msg->len+nmemb+1);
snprintf(msg->msg+msg->len,nmemb,"%s",ptr);
msg->len+=nmemb;
returnnmemb;
}
intmain(intargc,char**argv)
{
CURL*curl;
MSGmsg;
charbuf[1024];
chardata[2048];
curl=curl_easy_init();
msg.len=0;
msg.msg=NULL;
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,get_data);
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&msg);
curl_easy_setopt(curl,CURLOPT_USERAGENT,"CBot/FromBai");
while(1)
{
printf(">");
scanf("%s",buf);
if(strcmp(buf,"exit")==0)
break;
snprintf(data,sizeof(data),"%s?msg=%s",BOT_SER,buf);
curl_easy_setopt(curl,CURLOPT_URL,data);
curl_easy_perform(curl);
if(msg.len)
{
printf("%s ",msg.msg);
msg.len=0;
free(msg.msg);
msg.msg=NULL;
}
}
curl_easy_cleanup(curl);
return0;
}
5. 人工智能与c语言有直接关系吗
人工智能建立在算法上,而不是编程语言上。
C语言可以写人工智能算法。
C语言可以写能写C语言的人工智能算法。
C语言甚至能写能写出能写出C语言的人工智能算法的人工智能算法。
C语言甚至都能。。。
6. 计算机智能算数的C语言程序
递归
abcd
a+(b+(c+d))//第一种算式
---
***
///
(a+b)+(c+d)//第二种算式
---
***
///
递归不会用最笨的算法吧好多事得自己做
一个最累的程序写了半天还不是很完善你参考一下吧
#include<stdio.h>
#defineAd(x,y)(x+y)
#defineMi(x,y)(x-y)
#defineMu(x,y)(x*y)
#defineDi(x,y)(x/y)
intfalg=0;
floatpo[24][4];
voidgame24();
voidtest(floata,floatb,floatc,floatd);
voidwrite(float(*po)[4],floata,floatb,floatc,floatd);
intmain()
{
game24();
return0;
}
voidtest(floata,floatb,floatc,floatd)
{
//a+(b+c+d)
if(Ad(a,Ad(b,Ad(c,d)))==24){printf("%2.0f+%2.0f+%2.0f+%2.0f=24 ",a,b,c,d);falg=1;}
if(Ad(a,Ad(b,Mi(c,d)))==24){printf("%2.0f+%2.0f+%2.0f-%2.0f ",a,b,c,d);falg=1;}
if(Ad(a,Ad(b,Mu(c,d)))==24){printf("%2.0f+%2.0f+%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Ad(a,Ad(b,Di(c,d)))==24){printf("%2.0f+%2.0f+%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Ad(a,Mi(b,Ad(c,d)))==24){printf("%2.0f+%2.0f-%2.0f+%2.0f ",a,b,c,d);falg=1;}
if(Ad(a,Mi(b,Mi(c,d)))==24){printf("%2.0f+%2.0f-%2.0f%2.0f ",a,b,c,d);falg=1;}
if(Ad(a,Mi(b,Mu(c,d)))==24){printf("%2.0f+%2.0f-%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Ad(a,Mi(b,Di(c,d)))==24){printf("%2.0f+%2.0f-%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Ad(a,Mu(b,Ad(c,d)))==24){printf("%2.0f+%2.0f*(%2.0f+%2.0f) ",a,b,c,d);falg=1;}
if(Ad(a,Mu(b,Mi(c,d)))==24){printf("%2.0f+%2.0f*(%2.0f-%2.0f) ",a,b,c,d);falg=1;}
if(Ad(a,Mu(b,Mu(c,d)))==24){printf("%2.0f+%2.0f*%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Ad(a,Mu(b,Di(c,d)))==24){printf("%2.0f+%2.0f*%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Ad(c,d)!=0&&Ad(a,Di(b,Ad(c,d)))==24){printf("%2.0f+%2.0f/(%2.0f+%2.0f) ",a,b,c,d);falg=1;}
if(Mi(c,d)!=0&&Ad(a,Di(b,Mi(c,d)))==24){printf("%2.0f+%2.0f/(%2.0f-%2.0f) ",a,b,c,d);falg=1;}
if(Mu(c,d)!=0&&Ad(a,Di(b,Mu(c,d)))==24){printf("%2.0f+%2.0f/%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Di(c,d)!=0&&Ad(a,Di(b,Di(c,d)))==24){printf("%2.0f+%2.0f/%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Mi(a,Ad(b,Ad(c,d)))==24){printf("%2.0f-%2.0f+%2.0f+%2.0f ",a,b,c,d);falg=1;}
if(Mi(a,Ad(b,Mi(c,d)))==24){printf("%2.0f-%2.0f+%2.0f-%2.0f ",a,b,c,d);falg=1;}
if(Mi(a,Ad(b,Mu(c,d)))==24){printf("%2.0f-%2.0f+%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Mi(a,Ad(b,Di(c,d)))==24){printf("%2.0f-%2.0f+%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Mi(a,Mi(b,Ad(c,d)))==24){printf("%2.0f-%2.0f-%2.0f+%2.0f ",a,b,c,d);falg=1;}
if(Mi(a,Mi(b,Mi(c,d)))==24){printf("%2.0f-%2.0f-%2.0f-%2.0f ",a,b,c,d);falg=1;}
if(Mi(a,Mi(b,Mu(c,d)))==24){printf("%2.0f-%2.0f-%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Mi(a,Mi(b,Di(c,d)))==24){printf("%2.0f-%2.0f-%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Mi(a,Mu(b,Ad(c,d)))==24){printf("%2.0f-%2.0f*(%2.0f+%2.0f) ",a,b,c,d);falg=1;}
if(Mi(a,Mu(b,Mi(c,d)))==24){printf("%2.0f-%2.0f*(%2.0f-%2.0f) ",a,b,c,d);falg=1;}
if(Mi(a,Mu(b,Mu(c,d)))==24){printf("%2.0f-%2.0f*%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Mi(a,Mu(b,Di(c,d)))==24){printf("%2.0f-%2.0f*%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Ad(c,d)!=0&&Mi(a,Di(b,Ad(c,d)))==24){printf("%2.0f-%2.0f/(%2.0f+%2.0f) ",a,b,c,d);falg=1;}
if(Mi(c,d)!=0&&Mi(a,Di(b,Mi(c,d)))==24){printf("%2.0f-%2.0f/(%2.0f-%2.0f) ",a,b,c,d);falg=1;}
if(Mu(c,d)!=0&&Mi(a,Di(b,Mu(c,d)))==24){printf("%2.0f-%2.0f/%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Di(c,d)&&Mi(a,Di(b,Di(c,d)))==24){printf("%2.0f-%2.0f/%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Mu(a,Ad(b,Ad(c,d)))==24){printf("%2.0f*(%2.0f+%2.0f+%2.0f) ",a,b,c,d);falg=1;}
if(Mu(a,Ad(b,Mi(c,d)))==24){printf("%2.0f*(%2.0f+%2.0f-%2.0f) ",a,b,c,d);falg=1;}
if(Mu(a,Ad(b,Mu(c,d)))==24){printf("%2.0f*(%2.0f+%2.0f*%2.0f) ",a,b,c,d);falg=1;}
if(d!=0&&Mu(a,Ad(b,Di(c,d)))==24){printf("%2.0f*(%2.0f+%2.0f/%2.0f) ",a,b,c,d);falg=1;}
if(Mu(a,Mi(b,Ad(c,d)))==24){printf("%2.0f*(%2.0f-%2.0f+%2.0f) ",a,b,c,d);falg=1;}
if(Mu(a,Mi(b,Mi(c,d)))==24){printf("%2.0f*(%2.0f-%2.0f-%2.0f) ",a,b,c,d);falg=1;}
if(Mu(a,Mi(b,Mu(c,d)))==24){printf("%2.0f*(%2.0f-%2.0f*%2.0f) ",a,b,c,d);falg=1;}
if(d!=0&&Mu(a,Mi(b,Di(c,d)))==24){printf("%2.0f*(%2.0f-%2.0f/%2.0f) ",a,b,c,d);falg=1;}
if(Mu(a,Mu(b,Ad(c,d)))==24){printf("%2.0f*(%2.0f*(%2.0f+%2.0f)) ",a,b,c,d);falg=1;}
if(Mu(a,Mu(b,Mi(c,d)))==24){printf("%2.0f*(%2.0f*(%2.0f-%2.0f)) ",a,b,c,d);falg=1;}
if(Mu(a,Mu(b,Mu(c,d)))==24){printf("%2.0f*%2.0f*%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Mu(a,Mu(b,Di(c,d)))==24){printf("%2.0f*%2.0f*%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Ad(c,d)!=0&&Mu(a,Di(b,Ad(c,d)))==24){printf("%2.0f*(%2.0f/(%2.0f+%2.0f)) ",a,b,c,d);falg=1;}
if(Mi(c,d)!=0&&Mu(a,Di(b,Mi(c,d)))==24){printf("%2.0f*(%2.0f/(%2.0f-%2.0f)) ",a,b,c,d);falg=1;}
if(Mu(c,d)!=0&&Mu(a,Di(b,Mu(c,d)))==24){printf("%2.0f*%2.0f/%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Di(c,d)!=0&&Mu(a,Di(b,Di(c,d)))==24){printf("%2.0f*%2.0f/%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Ad(b,Ad(c,d))!=0&&Di(a,Ad(b,Ad(c,d)))==24){printf("%2.0f/%2.0f+%2.0f+%2.0f ",a,b,c,d);falg=1;}
if(Ad(b,Mi(c,d))!=0&&Di(a,Ad(b,Mi(c,d)))==24){printf("%2.0f/%2.0f+%2.0f-%2.0f ",a,b,c,d);falg=1;}
if(Ad(b,Mu(c,d))!=0&&Di(a,Ad(b,Mu(c,d)))==24){printf("%2.0f/%2.0f+%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Ad(b,Di(c,d))!=0&&Di(a,Ad(b,Di(c,d)))==24){printf("%2.0f/%2.0f+%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Mi(b,Ad(c,d))!=0&&Di(a,Mi(b,Ad(c,d)))==24){printf("%2.0f/%2.0f-%2.0f+%2.0f ",a,b,c,d);falg=1;}
if(Mi(b,Mi(c,d))!=0&&Di(a,Mi(b,Mi(c,d)))==24){printf("%2.0f/%2.0f-%2.0f-%2.0f ",a,b,c,d);falg=1;}
if(Mi(b,Mu(c,d))!=0&&Di(a,Mi(b,Mu(c,d)))==24){printf("%2.0f/%2.0f-%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Mi(b,Di(c,d))!=0&&Di(a,Mi(b,Di(c,d)))==24){printf("%2.0f/%2.0f-%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Mu(b,Ad(c,d))!=0&&Di(a,Mu(b,Ad(c,d)))==24){printf("%2.0f/%2.0f*(%2.0f+%2.0f) ",a,b,c,d);falg=1;}
if(Mu(b,Mi(c,d))!=0&&Di(a,Mu(b,Mi(c,d)))==24){printf("%2.0f/%2.0f*(%2.0f-%2.0f) ",a,b,c,d);falg=1;}
if(Mu(b,Mu(c,d))!=0&&Di(a,Mu(b,Mu(c,d)))==24){printf("%2.0f/%2.0f*%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Mu(b,Di(c,d))!=0&&Di(a,Mu(b,Di(c,d)))==24){printf("%2.0f/%2.0f*%2.0f/%2.0f ",a,b,c,d);falg=1;}
if(Di(b,Ad(c,d))!=0&&Di(a,Di(b,Ad(c,d)))==24){printf("%2.0f/%2.0f/(%2.0f%2.0f) ",a,b,c,d);falg=1;}
if(Di(b,Mi(c,d))!=0&&Di(a,Di(b,Mi(c,d)))==24){printf("%2.0f%2.0f/(%2.0f%2.0f) ",a,b,c,d);falg=1;}
if(Di(b,Mu(c,d))!=0&&Di(a,Di(b,Mu(c,d)))==24){printf("%2.0f/%2.0f%2.0f*%2.0f ",a,b,c,d);falg=1;}
if(d!=0&&Di(b,Di(c,d))!=0&&Di(a,Di(b,Di(c,d)))==24){printf("%2.0f/%2.0f/%2.0f/%2.0f ",a,b,c,d);falg=1;}
}
void game24()
{
float a=0,b=0,c=0,d=0;
while(1)
{
puts("请输入a b c d 四个数 1~9");
scanf("%f %f %f %f",&a,&b,&c,&d);
printf("
你输入的是: %3.0f%3.0f%3.0f%3.0f
",a,b,c,d);
if((a<10&&a>0)&&(b<10&&b>0)&&(c<10&&c>0)&&(d<10&&d>0)) break;
}
test(a,b,c,d);
test(a,b,d,c);
test(a,c,b,d);
test(a,c,d,b);
test(a,d,b,c);
test(a,d,c,b);
test(b,a,b,c);
test(b,a,c,b);
test(b,c,a,d);
test(b,c,d,a);
test(b,d,a,c);
test(b,d,c,a);
test(c,a,b,c);
test(c,a,c,b);
test(c,b,c,d);
test(c,b,d,c);
test(c,d,a,b);
test(c,d,b,a);
test(d,a,b,c);
test(d,a,c,b);
test(d,b,c,d);
test(d,b,d,c);
test(d,c,a,b);
test(d,c,b,a);
if(falg==0) puts("无解");
}