我想找几个c语言的小项目做~!

我想找几个c语言的小项目做~!,第1张

网上C语言的题很多的,比如:8皇后,汉诺塔,24点,万年历等等,有很多的程序题目,也有相应的解答。

把前几个星期我们的程序题给你看一下:

1、 实现简单的学生成绩信息管理软件。 学生信息包括:学号、姓名、4门课程的成绩(计算机,数学,英语,物理)。 要实现的功能:学生信息的录入、修改、删除和查询。

2、 编写小学生数学测试软件。 (1) 可选择题型加,减,乘。 (2) 可选择每次答题的个数。 (3) 随机生成两个数进行运算。 (4) 每次输入答案后判断对错,若答案错误,给出正确答案。 (5) 最后给出做对题目的总个数。

3、 用字符数组保存一个英文句子。 (1) 删除该英文句子的前导空格、后导空格、句中多余空格(单词之间只留一个空格)。 (2) 统计句中某单词出现的次数。 (3) 查找并替换某单词。

4、 用文件保存一段英文文本。 (1) 统计各字母在文本中出现的次数(忽略大小写)。 (2) 查找并替换文本中的某字符串,将替换后的文本存入另一个文件。

5、 打印如下方阵(任选一题)。 (1) 螺旋方阵: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 (2) 蛇形方阵: 1 2 6 7 3 5 8 13 4 9 12 14 10 11 15 16

6、 已知2000年1月1日为星期六,输入任一年的年份后,打印该年的年历。

7、 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,实际的长整数m表示为: m=a[k]×10k-1+a[k-1]×10k-2+…+a[2]×10+a[1] 其中a[0]保存该长整数的位数。完成(任选一题): (1) 长整数乘普通整数。 (2) 长整数除普通整数。

8、 对于题7描述的10进制长整数,要求: (1) 转换成16进制数输出。 (2) 转换成8进制数输出。

9、 算法问题(任选一题)。 (1) 皇后问题:在国际象棋中,能否在空棋盘上摆放八个皇后,并使其中任意两个皇后不能在同一行或同一列或同一对角线上,并编写完整的摆放八皇后问题的程序。要求:第一个皇后的起始位置由键盘输入,国际象棋的棋盘为88的方格。 (2) 迷宫问题,用数组方式实现一个迷宫。

还有就是多找几个与c有关的网站多看看。比如编程爱好者。

人类建造迷宫已有5000年的历史。在世界的不同文化发展时期,这些奇特的建筑物始终吸引人们沿着弯弯曲曲、困难重重的小路吃力地行走,寻找真相。那么,这种神秘之路的吸引力究竟在哪里?为什么至今还引人入胜?

要描述希腊神话里的第一座迷宫,就不能不想起著名的阿根廷诗人、小说家兼翻译家豪利·博尔赫斯的话:“建造一所让人找不到出口的房子,或许更离奇的是,里面还有一个牛首人身的怪物。”

这则神话讲的是,从前弥诺斯王统治着克里特岛。有一年,他没有给海神波塞冬送去允诺的祭物公牛,海神十分生气,决意报复。他附体在公牛身上,勾引了弥诺斯王的妻子帕西法厄王后。不久,王后生下一个牛首人身的怪物弥诺陶洛斯。为了把怪物藏起来避免家丑外扬,弥诺斯王命令岛上最优秀的工匠代达罗斯造了一座迷宫:一所稀奇古怪的地下房子,走廊离亮处越来越远,根本找不到出口。发狂的弥诺陶洛斯在一堵堵墙壁之间徘徊游荡,左突右冲,以雅典王进贡的童男童女充饥。终于有一天,雅典王子忒修斯带着宝剑闯入迷宫。他一路退下弥诺斯王的女儿阿里阿德涅送给他的线团的线,杀死了牛头怪物弥诺陶洛斯,又沿着这根线找到出口,活着离开迷宫。

科学家一般认为,迷宫是这样一种地方:弯弯曲曲的通道,用一堵堵墙隔开。人们在这里举行仪式、跳舞和表演。我们所知道的最早的迷宫比神话里的迷宫要晚得多,它建于公元前约1600年的迈锡尼时期,在克里特首都的一座王宫里。它与在希腊的皮洛斯找到的公元前12世纪画在粘土板上的迷宫很相似。

这块粘土板的故事是这样的:特洛伊市的一座王宫的门后坐着一位侍臣。他的任务是在粘土板上登记臣民进贡的山羊数目及进贡者的姓名。进贡者离去后,他无事可做,便把粘土板翻过来,在上面勾画迷宫。就是这么一块粘土板在地下躺了大约3200年,竟奇迹般地完整保存到今天。

人们认为迷宫里的墙壁具有魔力:在迷宫里转一圈,能给田地带来好收成,没有儿女的能生孩子,总之能心想事成、所以过去人们常在迷宫里举行成年仪式。有些民族甚至认为迷宫有助产的魔力,例如在印度北方的一些地方,人们用画有迷宫的青铜盘盛水让产妇喝。这种习俗一直流传到十八九世纪。

考古学家在斯堪的纳维亚发现一座用石头砌成的跟人一样高的迷宫,取名“特洛伊堡垒”。一条独具匠心的小路通往中心广场。那里有一个姑娘在等待着心上人,而心上人穿过错综复杂的小路,跳着舞向姑娘靠近。

公元前12世纪的特洛伊战争时期,许多民族入侵迈锡尼的希腊,城市和城堡遭到破坏,传统丧失殆尽,迷宫的魔力似乎削弱。

但是,对传统的忽视并没有减少人们对迷宫的兴趣。在公元前的第一个千年里,这种兴趣不断扩大,从地中海蔓延到叙利亚,再到东方各国——今天的阿富汗、印度、斯里兰卡和印度尼西亚。不久又在西方扩散开来:西班牙、英国、斯堪的纳维亚和罗斯。

到罗马时期,迷宫图案成为装饰品的首选。在贵族的豪宅里,前厅和餐厅装饰着迷宫拼花图案。这些几何图案的中心通常是古代神话中的景象:忒修斯和被杀死的弥诺陶洛斯。当时的人们更关心的似乎只是图案形式,有时并不在乎他们的“迷宫”有错——既进不去,也出不来。

到了基督教时期,迷宫的神圣力量又回来了。人的整个生命如同一座迷宫,而这座迷宫的中心是人生的转折点。只有通过艰难曲折的朝圣之路,才能告别罪恶的生活,到达迷宫的中心,在那里找到人生的目的。

中世纪初期用来装潢手稿的小图案中,迷宫的形状有了变化,司祭奥特弗里德·魏谢布尔格斯基让构成迷宫图案的线路形成一个基督教的十字架,由此产生了五花八门的哥特式迷宫。这些迷宫的图案往往用来装饰大教堂的入口处。例如,沙特尔大教堂就称得上是一座迷宫。要想进到教堂的中心,要拐28个弯——跟太阴月的天数一样。

中世纪的英国流行草坪迷宫,也就是把草坪栽种成迷宫的样式。不难想象这是一幅怎样的图案。年轻人喜欢来这里散步;手艺人行会在这里搞节庆活动;逢宗教庆典,市民们也常来这里。直到今天还有几十座这样的迷宫供旅游者参观。南威尔士就有一座很古老的迷宫保存了下来,它的建造可以追溯到1800年。

德国也有3座类似的迷宫:在汉诺威的一座叫“车轮”。还有两座是瑞典的士兵在30年战争(1618~1648年)期间建造的,一座在瑙姆堡以北,叫“瑞典轮”;还有一座在格赖琴,叫“瑞典割草场”。

在斯堪的纳维亚、波罗的海和俄罗斯,有500多座古老的迷宫。这些迷宫是用小圆石和巨砾建成的,叫北方“特洛伊堡垒”。多数迷宫的直径有7~18米不等,许多都是只有一个入口的克里特式迷宫,只有个别的波罗的海型迷宫有两个入口。根据覆盖在石头上的地衣来判断,所有这些迷宫都建于13~17世纪之间。它们的用途至今不为人知,也许用于祭祀,也许不是。因为那时欧洲已经进入文艺复兴时期,人们已经成为自己命运的主人,找到了拯救自己的路。

试试这样行不?

public class Mazelp {/extends JFrame/ //implements ActionListener{

private static final int wid = 10;

private static final int hei = 10;

JFrame jf;

JButton jb1,jb2;

JButton jb[];

JPanel p1,p2;

private Stack stack = new Stack();//Stack 类表示后进先出(LIFO)的对象堆栈。

MenuBar menu;

Menu file;

MenuItem closeMenu;

public Mazelp() {

jf=new JFrame("迷宫");//申请内存空间设置标题

jfsetBounds(300,240,500,500); //调整迷宫出现的位置(300,240)及大小(500,500)

jfsetResizable(false);//窗体不可拉伸

menu = new MenuBar();//设置菜单条

file = new Menu("文件");//设置菜单栏

closeMenu = new MenuItem("关闭");//设置菜单项

//closeMenuaddActionListener(this);//添加监听对菜单项

p1=new JPanel();

//jfadd(menu);

jfsetMenuBar(menu);

menuadd(file);//将菜单栏添加到菜单条上

fileadd(closeMenu);//将菜单项添加到菜单栏

jfgetContentPane()add(p1);

p1setLayout(new GridLayout(10,10)); //p1用网格布局,10行10列

jb=new JButton[100];//作为迷宫的墙和路

for(int i=0;i<jblength;i++){

jb[i]=new JButton(IntegertoString(i));//创建按键的名字,Integer型的名字为i的字符串

if((i>=0&&i<=9)||(i>=90&&i<=99)||i%10==0||i%10==9||i==13||i==17||i==23||i==27||i==35||i==36||i==42||i==43||i==44||i==54||i==62||i==66||i==72||i==73||i==74||i==76||i==77||i==81){

jb[i]setBackground(Colorred);//将墙涂色

}

else {

jb[i]setBackground(Coloryellow);

}

jb[i]setSize(10,10);

p1add(jb[i]);

jfsetDefaultCloseOperation(jfEXIT_ON_CLOSE); //声明点“X”图标后结束窗体所在的应用程序

jfsetVisible(true); //表明以上创建的所有窗体、按键等组件都是可见

}

}

#include <stdioh>

#include <windowsh>

#include <conioh>

typedef struct point_s {

int x;

int y;

} point_t;

const char maze[8][8] = {

{0, 0, 0, 0, 0, 0, 0, 0},

{0, 1, 1, 1, 1, 0, 1, 0},

{0, 0, 0, 0, 1, 0, 1, 0},

{0, 1, 0, 0, 0, 0, 1, 0},

{0, 1, 0, 1, 1, 0, 1, 0},

{0, 1, 0, 0, 0, 0, 1, 1},

{0, 1, 0, 0, 1, 0, 0, 0},

{0, 1, 1, 1, 1, 1, 1, 0}

};

const point_t delta[4] = {

{1, 0},

{0, 1},

{-1, 0},

{0, -1}

};

char state[8][8];

point_t path[64];

int path_len;

void gotoxy(int x, int y)

{

COORD c;

cX = x - 1;

cY = y - 1;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);

}

int search(int x, int y)

{

int i;

if (x < 0 || x >= 8 || y < 0 || y >= 8)

return 0;

if (x == 7 && y ==7) {

path[path_len]x = x;

path[path_len]y = y;

path_len++;

return 1;

}

if (maze[x][y] == 1 || state[x][y] == 1)

return 0;

state[x][y] = 1;

for (i = 0; i < 4; i++) {

if (search(x + delta[i]x, y + delta[i]y) == 1) {

path[path_len]x = x;

path[path_len]y = y;

path_len++;

return 1;

}

}

state[x][y] = 0;

return 0;

}

int main()

{

int i, j;

search(0, 0);

system("cls");

for (i = 0; i < 8; i++) {

for (j = 0; j < 8; j++)

putchar('0' + maze[i][j]);

putchar('\n');

}

for (i = path_len - 1; i >= 0; i--)

{

gotoxy(path[i]y + 1, path[i]x + 1);

putchar('');

getch();

}

return 0;

}

以上就是关于我想找几个c语言的小项目做~!全部的内容,包括:我想找几个c语言的小项目做~!、迷宫求解、java添加菜单条和按钮等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9754003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存