一个c语言考研复试题,求教

Python016

一个c语言考研复试题,求教,第1张

这其实是个数独,考查的是人工智能知识,应该用图的深度优先遍历(DFS)外加heuristic search,递归实现,跟四染色类似。

void find(int arr[][], int i, int j){

if(i==3&&j==3){

report(arr)

return

}

int in, jn

jn = (j+1)%4

if(j+1==4) in = i+1

else in = i

if(arr[i][j]!='?') find(arr, in, jn) /*递归调用*/

else{

if(isLegal(arr, i, j, 1)==1){ arr[i][j] = 1 find(arr, in, jn)} /*递归调用*/

if(isLegal(arr, i, j, 2)==1){ arr[i][j] = 2 find(arr, in, jn)}

if(isLegal(arr, i, j, 3)==1){ arr[i][j] = 3 find(arr, in, jn)}

if(isLegal(arr, i, j, 4)==1){ arr[i][j] = 4 find(arr, in, jn)}

}

}

int isLegal(int arr[][], int i, int j, int val){

int m, n

for(m = 0m <4m++)

if(arr[m][j]==val) return 0

for(n = 0n <4n++)

if(arr[i][n]==val) return 0

if(i!=0&&j!=0)

if(arr[i-1][j-1]==val||arr[i-1][j]==val||arr[i][j-1]==val) return 0

if(i!=3&&j!=3)

if(arr[i+1][j]==val||arr[i+1][j+1]==val||arr[i][j+1]==val) return 0

if(i!=0&&j!=3)

if(arr[i-1][j]==val||arr[i-1][j+1]==val||arr[i][j+1]==val) return 0

if(i!=3&&j!=0)

if(arr[i+1][j]==val||arr[i+1][j-1]==val||arr[i][j-1]==val) return 0

return 1

}

void report(int arr[][]){

int i, j

for(i=0i<4i++) for(j=0j<4j++) printf("%d\t", arr[i][j])

}

太原科技大学电子信息工程学院的复试是c语言与微机原理二选一。

c语言的题型是选择填空和编程,共三种。但是都十分简单,当然前提是你没有忘记当初学的内容。

至于微机原理,大概有填空、选择、编程、改错(程序的错误),最后是几个大的编程。不过这个都应该没什么。

复试中的笔试成绩不是很重要,只要面试表现好,初试成绩高就没有问题了。

太原科技大学面向未来,树立“以人为本,尊重学术,开放办学”理念,坚持“质量建校,特色立校,人才强校,科研兴校”方针,奋发图强,锐意进取,为实现特色鲜明和具有行业重要影响力的教学研究型大学的目标正努力奋斗。

提供以下资料供你参考:

主要考点:

01地图学研究与地图设计

02GIS研究、设计、开发与应用

03遥感地学分析

04虚拟地理环境技术

05数字地球

063S技术集成与应用

初试科目

①101政治

②201英语一或203日语

③601高等数学甲

④815地理信息系统概论

复试科目笔试:

C语言(笔试与上机考试);

面试:英语口语与听力加专业综合

参考书目

《高等数学讲义》(上、下册)樊映川等编,高等教育出版社

《地理信息系统概论》(第三版)黄杏元等编著,高等教育出版社;

《地理信息系统导论》,Kang-tsung Chang著,陈健飞等编译,科学出版社。

复试参考书:

《C语言程序设计》(第三版)谭浩强,清华大学出版社。