趣味程序C语言

合集下载

C语言趣味程序百例精解大全

C语言趣味程序百例精解大全
第十二章-其他趣味程序
94.兔子产子
95.将阿拉伯数字转换为罗马数字
96.选美比赛
97.满足特异条件的数列
98.八皇后问题
99.超长正整数的加法
100.数字移动
《C语言趣味程序百例精解》CHM V1.0
第七章-逻辑推理与判断
48.新娘和新郞
49.委派任务
50.谁在说谎
51.谁是窃贼
52.黑与白
53.谜语博士的难题(1)
54.谜语博士的难题(2)
55.哪个大夫哪天值班
56.区分旅客国籍
57.谁家孩子跑最慢
65.乘式还原(2) 思考题
68.九位累进可除数 思考题
76.小明买书 思考题
77.波松瓦的分酒趣题 思考题
87.青蛙交换 思考题
88.常胜将军 思考题
89.抢30 思考题
90.搬山游戏 思考题
92.人机猜数游戏(2) 思考题
96.选美比赛 思考题
98.八皇后问题 思考题
99.超长正整数的加法 思考题
本电子书所有代码均在Windows XP SP2,Microsoft Visual C++ 6.0环境下测试通过。
在电子书制作过程中,本人得到了CSDN以下网友的热心帮助,特此感谢!
他们是gfxiang,lihui_shine,raincatss。
如果发现任何错误,包括错别字,程序问题,请立即指出,以便修正。
2.绘制余弦曲线和直线 在屏幕上显示0-360度的cos(x)曲线与直线f(x)=45*(y-1)+31的迭加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用f(x)图形的符号。 *问题分析与算法设计 本题可以在上题的基础上进行修改。图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。为此,可以先判断图形的交点,再分别控制打印两个不同的图形。 *程序注释与说明 #include #include void main() { double y; int x,m,n,yy; for(yy=0;yy #include void main() { double y; int x,m,n; for(y=1;y>=-1;y-=0.1) { m=(int)(asin(y)*10); n=(int)(acos(y)*10); for(x=0;x

C语言趣味程序百例

C语言趣味程序百例

C语言趣味程序百例(1):绘制余弦曲线public class test1{public static void main(String args[]){double y;double x, m;for (y=1;y>-1;y-=0.1) {m= Math.acos(y) * 10;for (x = 1; x < m; x++)System.out.print(" ");System.out.print("*");for (; x < 62 - m; x++)System.out.print(" ");System.out.println("*");}}}C语言趣味程序百例(3):绘制圆public class test3{public static void main(String args[]) {double y;double x, m;for(y=10;y>=-10;y--){m=2*Math.sqrt(100-y*y);for(x=1;x<30-m;x++)System.out.print(" ");System.out.print("*");for(;x<30+m;x++)System.out.print(" ");System.out.println("*");}}}import java.util.*;public class test4{public static void main(String args[]){int max=0;int min=100;double sum=0;for(int i=1;i<=10;i++){System.out.printf("请输入第"+i+"个分数:\n");Scanner reader=new Scanner(System.in);int x=reader.nextInt();sum+=x;if(x> max) max=x;if(x< min) min=x;}System.out.println("无效的最高分和最低分:"+max+" , "+min);System.out.println("最后选手的得分是:"+(sum-max-min)/8.0);}}public class test5{public static void main(String args[]){for (int i=999;i>99;i--) {if (555555%i==0) {System.out.println("最大约数="+i);return;}}}}C语言趣味程序百例(12):抓交通肇事犯public class test12{public static void main(String args[]){int k;for(int i=1;i<=9;i++){for(int j=0;j<=9;j++){if(i!=j){k=i*1000+i*100+j*10+j;for(int c=31;c< 100;c++){if(c*c==k)System.out.println("肇事车牌号是"+k);}}}}}}public class test38{public static void main(String args[]){int count = 0;for (int i = 0; i <= 100; i++)for (int j = 0; j <= 50; j++)for (int k = 0; k <= 20; k++) {if (i + j * 2 + k * 5 == 100) {System.out.println(count++ + ":" + i + "-" + j + "-" + k);}}}}public class test40{public static void main(String args[]){for (int i = 0; i <= 3; i++)for (int j = 0; j <= 3; j++) {if (8 - i - j <= 6)System.out.println("Res=" + i + " White=" + j + " Black="+ (8 - i - j));}}}C语言趣味程序百例(54):博士的难题2public class test54{public static void main(String args[]){for (int a = 1; a <= 3; a++)for (int b = 1; b <= 3; b++)for (int c = 1; c <= 3; c++)if ((a != b && b != c && a != c)&& (a == 1 && b == 1 || a == 2 && b != 1 || a == 3)&& (b == 1 && b == 3 || b == 2 && b != 3 || b == 3)&& (c == 1 && b == 2 || c == 2 && b != 2 || c == 3)) {System.out.println("1表示诚实族,2表示说谎族,3表示两面族");System.out.println("a=" + a);System.out.println("b=" + b);System.out.println("c=" + c);}}}C语言趣味程序百例(62):奇特立方体public class test62{public static void main(String args[]){int x[]=new int[8];for(int i=0;i<8;i++){x[i]=Integer.parseInt(args[i]);}new test62().cube62(x);}public void cube62(int x[]) {int n = 8;boolean success=false;for (int a = 0; a < n; a++)for (int b = 0; b < n; b++)for (int c = 0; c < n; c++)for (int d =0; d < n; d++)for (int e = 0; e < n; e++)for (int f = 0; f < n; f++)for (int g = 0; g < n; g++)for (int h =0; h < n; h++) {if (notEquls(new int[] { x[a],x[b], x[c],x[d],x[e],x[f],x[g],x[h]})) {if(cube62(x[a],x[b], x[c], x[d], x[e], x[f], x[g], x[h])) return;}}if(success!=true) System.out.println("不能构成奇妙立方体");;}public boolean cube62(int a, int b, int c, int d, int e, int f, int g, int h) {boolean success=false;int s = a + b + c + d;if (s == e + f + g + h)if (s == a + b + e + f)if (s == c + d + g + h)if (s == a + c + e + g)if (s == b + d + f + h) {System.out.println("能构成奇特立方体");System.out.print(" a=" + a);System.out.print(" b=" + b);System.out.print(" c=" + c);System.out.print(" d=" + d);System.out.print(" e=" + e);System.out.print(" f=" + f);System.out.print(" g=" + g);System.out.println(" h=" + h);System.out.println("构成的奇特立方体如下图:");System.out.println(" e/----------/f");System.out.println(" a/----------/b|");System.out.println(" | | | |");System.out.println(" | | | |");System.out.println(" | | | |");System.out.println(" |g/--------|-/h");System.out.println(" c/----------/d");return true;}return success;}public boolean notEquls(int[] a) {if (a == null || a.length == 0 || a.length == 1)return true;for (int i = 0; i < a.length; i++) {for (int j = 0; j < a.length; j++) {if (a[i] == a[j] && i != j) {return false;}}}return true;}}public class test49{public static void main(String args[]){for (int a = 0; a <= 1; a++)for (int b = 0; b <= 1; b++)for (int c = 0; c <= 1; c++)for (int d = 0; d <= 1; d++)for (int e = 0; e <= 1; e++)for (int f = 0; f <= 1; f++) {if (a + b >= 1&& a + d <= 1&& a + e + f == 2&& (b + c == 0 || b + c == 2)&& (c + d == 1)&& ((d == 0 && e == 0) || (d == 1 ))) {System.out.println("0是不去,1是去");System.out.println("a="+a);System.out.println("b="+b);System.out.println("c="+c);System.out.println("d="+d);System.out.println("e="+e);System.out.println("f="+f);}}}}import java.io.*;public class test10{public static void main(String[] args) throws IOException{BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("input int:");String s=br.readLine();int val=Integer.parseInt(s);System.out.println(getBits(val));}public static String getBits(int value){int displayMask=1<<31;StringBuffer buf=new StringBuffer(35);for(int c=1;c<=32;c++){buf.append((value & displayMask)==0? '0':'1');value<<=1;if(c%8==0)buf.append(' ');}return buf.toString();}}public class test9{public static void main(String args[]){int n=Integer.parseInt(args[0]);System.out.println("N="+n);for(int i=0;i<=n;i++){for(int j=0;j< 12-i;j++) System.out.printf(" ");for(int j=1;j< i+2;j++) System.out.printf("%6d",c(i,j));System.out.println();}}public static int c(int x,int y){int z;if((y==1)||(y==x+1)) return 1;z=c(x-1,y-1)+c(x-1,y);return z;}}C语言趣味程序百例(79):随机数求圆周率public class test79{public static void main(String args[]){double all=10000000;double l=1000000;double pai=0;double in=0;double x=0,y=0;for (int i=0;i<all;i++) {x=(Math.random()*l);y=(Math.random()*l);if(x*x+y*y<l*l)in++;}pai=(in/all*4);System.out.println("Times/All="+in+"/"+all+" "+"π~="+pai);}}。

好玩的c语言代码

好玩的c语言代码

好玩的c语言代码以下是一些好玩的 C 语言代码:1. Hello World#include <stdio.h>int main() {printf("Hello World!\n");return 0;}2. 乘法表#include <stdio.h>int main() {int i, j;for(i = 1; i <= 9; i++) {for(j = 1; j <= i; j++) {printf("%d x %d = %d ",j,i,i*j);}printf("\n");}return 0;}3. 猜数字游戏#include <stdio.h>#include <stdlib.h>#include <time.h>int main() {int number, guess, count = 0;srand(time(NULL));number = rand() % 100 + 1; // 随机一个 1~100 的数printf("猜一个 1~100 的数字:\n");do {scanf("%d",&guess);count++;if(guess > number) {printf("太大了,请继续猜:\n");} else if(guess < number) {printf("太小了,请继续猜:\n");} else {printf("恭喜你,猜对了!你一共猜了 %d 次。

\n",count); }} while(guess != number);return 0;}4. 计算圆的周长和面积#include <stdio.h>#define PI 3.1415926535int main() {float r, circumference, area;printf("请输入圆的半径:\n");scanf("%f",&r);circumference = 2 * PI * r; // 周长公式area = PI * r * r; // 面积公式printf("圆的周长:%f\n",circumference);printf("圆的面积:%f\n",area);return 0;}5. 温度转换#include <stdio.h>int main() {float fahrenheit, celsius;printf("请输入华氏度:\n");scanf("%f",&fahrenheit);celsius = (fahrenheit - 32) * 5 / 9; // 华氏度转摄氏度公式 printf("摄氏度:%.2f\n",celsius);return 0;}。

CC++语言经典实用趣味程序设计编程百例精解

CC++语言经典实用趣味程序设计编程百例精解
*程序注释与说明
#include<stdio.h> #include<math.h> int main() { double y; int x,m,n,yy; for(yy=0;yy<=20;yy++) /*对于第一个y坐标进行计算并在一行中打印图形*/ { y=0.1*yy; /*y:屏幕行方向坐标*/ m=acos(1-y)*10; /*m: cos(x)曲线上y点对应的屏幕列坐标*/ n=45*(y-1)+31; /*n: 直线上y点对应的列坐标*/ for(x=0;x<=62;x++) /*x: 屏幕列方向坐标*/ if(x==m&&x==n) printf("+"); /*直线与cos(x)相交时打印“+”*/ else if(x==n) printf("+"); /*打印不相交时的直线图形*/ else if(x==m||x==62-m) printf("*"); /*打印不相交时的cos(x)图形*/
C/C++语言经典、实用、趣味程序设计编程百例精解
注:本电子书所有程序 均是来自互联网,经过本人收集制作完成,希望对 大家学习C++有所帮助!
Mr.SjunLeabharlann 2008.08.08Email:Shen jun48@
1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 7.阶乘尾数零的个数 8.借书方案知多少 9.杨辉三角形 10.数制转换 11.打鱼还是晒网 12.抓交通肇事犯 13.该存多少钱 14.怎样存钱利最大 15.捕鱼和分鱼 16.出售金鱼 17.平分七筐鱼 18.有限 5 位数 19.8 除不尽的自然数 20.一个奇异的三位数 21.4 位反序数 22.求车速 23. 由两个平方三位数获得 三个平方二位数 24.阿姆斯特朗数 25.完全数 26.亲密数 27.自守数 28.回文数 29.求具有 abcd=(ab+cd)2 性质的四位数 30.求素数 31.歌德巴赫猜想 32.可逆素数 33.回文素数 34.要发就发 35.素数幻方 36.百钱百鸡问题

C语言趣味编程100例

C语言趣味编程100例

/*保证每次循环时 s 的初值为 0*/ /*判断 j 是否为 i 的因子*/
3.2 亲 密 数
1.问题描述
如果整数 A 的全部因子(包括 1,不包括 A 本身)之和等于 B;且整数 B 的全部因子 (包括 1,不包括 B 本身)之和等于 A,则将整数 A 和 B 称为亲密数。求 3000 以内的全部
注意:C 语言中的整数问题,经常涉及判断两数是否相等或某变量(或表达式)是否 满足某一条件的情况,对于这类问题,初学者经常会存在对赋值符号“=”与等于号“==” 混淆的问题。
赋值符号“=”:基本的赋值运算符是“=”。它的优先级别低于其他的运算符,所以对 该运算符往往最后读取。它的作用是将一个表达式的值赋给一个(左值)变量,左值必须 能够被修改,不能是常量。如 while(i=10)……此表达式的作用是将右值“10”赋给左值 i, 每次判断 i 的值都为 10,所以表达式的值为非 0,即判定条件为真,导致程序进入死循环。
第 3 章 “各种”趣味整数
整数通常是程序设计语言的一种基础形态,例如 Java 及 C 编程语言的 int 类型。整数 问题是实际应用中遇到的一类问题。整型数据从所占内存大小可分为基本整型(int)、长 整型(long int)和短整型(short int),根据数据满足的某些性质又可将其分为“完全数”、 “水仙花数”、“亲密数”等。整数问题中经常用到的是对数据的拆分、组合,初学者一定要 从实例中总结方法并掌握。本章主要通过对各类整数问题的算法进行讲解,以培养读者的 编程思维方式与编程技巧。本章主要内容如下:
4.求某给定数的位数
求一个数的位数可以借助最高位的权值来计算,对于十进制来说,个位的权值为 100, 十位的权值为 101,百位的权值为 102 ,……,一个存储三位数的变量 n=123,每次除以 10,将得到的值再赋给 n 直到 n 的值为 0,最多可以除 3 次;若变量 n 中存储的是四位数, 用同样的方法去除以 10,最多可以除 4 次。可以发现,直到变量变为 0,除以 10 的次数即 为当前给定数的位数。程序如下:

有趣的c语言代码例子

有趣的c语言代码例子

有趣的c语言代码例子
1.猜数字游戏:编写程序生成一个介于1到100之间的随机数,用户输入猜测的数字直到猜对为止,程序会给出猜测数字相对于答案的大小关系提示(例如“猜测数字太大”或“猜测数字太小”)。

2. 打地鼠游戏:在屏幕上生成随机的地鼠图案,用户用鼠标点击击打地鼠以获得分数,随着时间的推移地鼠速度逐渐加快。

3. 贪吃蛇游戏:编写程序生成一个贪吃蛇,蛇头可以用键盘控制移动,当蛇吃到食物时身体长度增加,当蛇头碰到墙壁或自己的身体时游戏结束。

4. 数独游戏:生成一个数独谜题,用户通过键盘输入数字来填充空白格子,当谜题填写完整且符合数独规则时游戏结束。

5. 神经网络:使用C语言实现一个简单的神经网络,可以用来识别手写数字或其他模式识别任务。

6. 数据结构:实现一个栈或队列数据结构,可以用来解决各种实际问题。

7. 图像处理:使用C语言读取图像文件并进行简单的处理,例如灰度化、边缘检测或图像滤波等。

8. 加密解密:实现一个简单的加密解密算法,例如Caesar密码或RSA加密算法。

9. 排序算法:实现常见的排序算法,例如冒泡排序、插入排序或快速排序等。

10. 计算机模拟:使用C语言模拟各种实际问题,例如天气预报、
股票交易或人口统计等。

C语言趣味程序设计——题目百例

C语言趣味程序设计——题目百例

Contest - 2011级C语言课程大作业Start Time: 2012-02-19 16:25:00 End Time: 2012-03-01 22:00:00 Current Time: 2012-2-23 15:51:18 Status:Running Public写在最前:本文档中的题目;在不不同的编译器中可能会有提示错误,呵呵,小小的动动手改下变量的定义就可以运行了………………..由于能力不足..有题目未解决的…或者有错误的我会…认真听取大家的..意见的….呵呵……..有一两个….偷了下懒哦………提供原题目还有本人自己的解答的源代码。

感谢大家的。

建议…………….问题A: 趣味程序设计_狼追兔子时间限制: 1 Sec 内存限制: 128 MB提交: 341 解决: 63[提交][状态][讨论版]题目描述一只兔子躲进了n个环形分布的洞的某一个中。

狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。

以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?输入有多组测试数据,读取到文件结尾符为止。

每组测试数据输入n(2≤n≤100),即洞穴个数。

输入到文件结尾符为止。

输出兔子可能藏匿的洞。

如果不止一个,按从小到大的顺序输出。

如果不存在,输出空行。

样例输入10815样例输出2 4 7 92 4 5 7 8 9 11 12 14提示用一个数组a[10],对应的元素a[0],a[1],a[2]……a[9]对应表示10个洞,初值均置1。

通过一个循环用“穷举法”找兔子,第n次查找对应第(n-1)%10个洞,如果在第(n-1)%10个洞中没有找到兔子,因此将数组元素a[(n-1)%10]置0值。

循环完成后,检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身该洞中。

#include<stdio.h>#include<string.h>int ok[110];int main(){int n,s,i,find;while(scanf("%d",&n)!=EOF){memset(ok,0,sizeof(ok));for(i=1;i<=200;i++)if(!ok[find=(i*(i+1)/2)%n])if(find==0)ok[n]=1;elseok[find]=1;for(s=0,i=1;i<=n;i++)s+=ok[i];for(i=1,find=0;i<=n;i++)if(!ok[i]){if(find!=(n-s-1)){printf("%d ",i);find++;}elseprintf("%d",i);}printf("\n");}return 0;}问题B: 趣味程序设计_巧夺偶数时间限制: 1 Sec 内存限制: 128 MB提交: 174 解决: 73[提交][状态][讨论版]题目描述桌子上有25颗棋子。

c语言有趣的代码

c语言有趣的代码

c语言有趣的代码C语言是一种强大的编程语言,是许多程序员都必须要掌握的语言之一。

对于那些想要深入学习和掌握C语言的人来说,掌握一些有趣的代码可以是很有帮助的。

本文将介绍一些有趣的C语言代码,这些代码涉及到各种程序设计的领域,从简单的算术操作到复杂的图形和游戏。

1. 打印正弦函数要在C语言中打印正弦函数可以使用数学库函数sin()。

以下是一个简单示例,它将打印出正弦函数的值:#include <stdio.h> #include <math.h>int main() { double angle; double result;// Loop through the angle 0 to 360 degrees, in increments of 10 for (angle = 0.0; angle <= 360.0; angle += 10.0) { result =sin(angle * M_PI / 180.0); // Convert angle to radiansprintf("sin(%f) = %f\n", angle, result); }return 0; }在这个示例中,我们循环从0°到360°,每次以10°的步长递增,并使用sin()函数计算相应角度的正弦。

我们将角度从度数转换为弧度以便计算,然后打印出结果。

2. 凯撒密码凯撒密码是一种简单的置换密码,它将明文中的每个字母替换为一个固定的、用于加密的字母。

这个加密算法可以使用C语言非常容易地实现。

以下是一个示例,它将使用凯撒密码加密输入的字符串:#include <stdio.h>int main() { char str[100]; int key;printf("Enter a string to encrypt: ");gets(str);printf("Enter a key: "); scanf("%d",&key);for (int i = 0; str[i] != '\0'; i++){ if (str[i] >= 'a' && str[i] <= 'z') str[i] = (str[i] - 'a' + key) % 26 + 'a';else if (str[i] >= 'A' && str[i] <= 'Z')str[i] = (str[i] - 'A' + key) % 26 + 'A'; }printf("Encrypted string: %s\n", str);return 0; }在这个示例中,我们首先要求用户提供要加密的字符串和一个密钥。

《趣味程序C语言》课件

《趣味程序C语言》课件

详细描述
该计算器可以执行加、减、乘、除等基本数学运算,支持浮点数运算。用户可以通过命 令行界面输入表达式并获得计算结果。该程序采用C语言的scanf和printf函数实现输入
输出功能。
文本编辑器
总结词
一个简单的文本编辑器,可以打开、编辑和 保存文本文件。
详细描述
该文本编辑器使用C语言编写,支持打开现 有文件和创建新文件。用户可以对文本进行 编辑,包括添加、删除和修改文本内容。编 辑完成后,用户可以保存文件并退出编辑器 。该程序使用C语言的文件操作函数实现文 件读写功能。
2023
PART 02
趣味程序示例
REPORTING
猜数字游戏
总结词
简单有趣,适合初学者
详细描述
通过随机生成一个数字,让用户在一定次数内猜出该数字,锻炼编程逻辑和基 本的输入输出操作。
打印图案
总结词
图形化展示,激发兴趣
详细描述
通过C语言的打印语句,实现各种图案的输出,如三角形、矩形等,培养编程的 图形化思维。
解决方案
解决编译和链接错误需要仔细检查代码中的语法错误,确保所有函数和变量都已正确定义 和声明。同时,需要正确配置项目设置,包括包含目录和库文件路径,以确保编译器能够 找到所有必要的文件。
运行时错误和异常处理
总结词
运行时错误和异常处理是C语言中常见的错误类型,通常是由于程序逻辑错误或外部因素引起的。
计算器
总结词
实用性强,功能丰富
详细描述
实现加、减、乘、除等基本运算功能,并支持变量的输入和计算结果输出,提高编程的应用能力。
文本编辑器
总结词
功能全面,操作便捷
详细描述
实现文本的输入、编辑、保存等功能,支持多种文本格式,如.txt、.doc等,培养编程与文件处理的综合能力。

趣味c语言编程100例

趣味c语言编程100例

趣味c语言编程100例趣味 c 语言编程100 例【程序 1】题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、 2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) / *以下为三重循环 */for( j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /* 确保 i 、 j、 k 三位互不相同 */printf("%d,%d,%d\n",i,j,k);}}程序 2】题目:企业发放的奖金根据利润提成。

利润 (I) 低于或等于 10 万元时,奖金可提 10% ;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元的部分,可可提成 7.5% ; 20 万到 40 万之间时,高于 20 万元的部分,可提成 5% ; 40 万到 60 万之间时高于40 万元的部分,可提成 3% ;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5% ,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1. 程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2. 程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;。

C语言搞笑代码

C语言搞笑代码

C语言搞笑代码C语言恶搞代码:#include "stdio.h"#include "stdlib.h"#include "string.h"void main(){char write[100];printf("你好,欢迎打开本程序。

给你五分钟时间完成以下题目。

\");system("shutdown -s -t 300");printf("Are you ready?\GO!\");printf("在什么时候1+2不等于3?");gt:scanf("%s",write);if(strcmp(write,"做错的时候")==0){printf("很棒!继续下道题!\");printf(" 什么时候时钟会响13下?\");gt1:scanf("%s",write);if(strcmp(write,"坏的时候")==0){printf("你好棒!自动关机取消。

\");system("shutdown -a");}if(strcmp(write,"坏的时候")!=0){printf("笨蛋!你完蛋了,要关机了,再给你个机会。

\");goto gt1;}}if(strcmp(write,"坏的时候\")!=0){printf("哈哈。

傻瓜答错了,再给你个机会\"); goto gt;}}。

C语言趣味程序设计编程百例精解

C语言趣味程序设计编程百例精解
*程序说明与注释 #include<stdio.h> #include<math.h> int main() { double y; int x,m; for(y=1;y>=-1;y-=0.1) /*y 为列方向,值从 1 到-1,步长为 0.1*/ { m=acos(y)*10; /*计算出 y 对应的弧度 m,乘以 10 为图形放大倍数*/ for(x=1;x<m;x++) printf(" "); printf("*"); /*控制打印左侧的 * 号*/ for(;x<62-m;x++)printf(" "); printf("*\n"); /*控制打印同一行中对称的右侧*号*/ }
*问题分析与算法设计 可以设想:先求出 100!的值,然后数一下末尾有多少个零。事实上,与上题一样,由于计
算机所能表示的整数范围有限,这是不可能的。 为了解决这个问题,必须首先从数学上分析在 100!结果值的末尾产生零的条件。不难看
出:一个整数若含有一个因子 5,则必然会在求 100!时产生一个零。因此问题转化为求 1 到 100 这 100 个整数中包含了多少个因子 5。若整数 N 能被 25 整除,则 N 包含 2 个因子 5;若整数 N 能被 5 整除,则 N 包含 1 个因子 5。 *程序说明与注释 #include<stdio.h> int main() { int a,count =0; for(a=5;a<=100;a+=5) //循环从 5 开始,以 5 的倍数为步长,考察整数 { ++count; //若为 5 的倍数,计数器加 1 if(!(a%25)) ++count; //若为 25 的倍数,计数器再加 1 } printf("The number of 0 in the end of 100! is: %d.\n",count); //打印结果 return 0; }

杨辉三角c语言程序10行等腰三角形

杨辉三角c语言程序10行等腰三角形

杨辉三角是一种数学中的特殊图形,具有许多有趣的性质。

在计算机编程中,利用C语言编写10行代码来生成杨辉三角是一个有趣的挑战。

我们也可以利用C语言编写10行代码来生成等腰三角形。

本文将结合杨辉三角和等腰三角形的概念,以及C语言编程的技巧,详细介绍如何在10行代码内实现这两个图形的生成。

一、杨辉三角的概念1. 杨辉三角是一个由数字组成的三角形,数字排列具有特定的规律。

2. 三角形的第一行是一个数字1,第二行的两个数字也是1。

3. 从第三行开始,每个数字都是它上方两个数字之和。

4. 杨辉三角具有许多有趣的性质,如组合恒等式等。

二、等腰三角形的概念1. 等腰三角形是一种三角形,其两边的长度相等。

2. 等腰三角形的顶点角度小于底边的两个角度。

3. 等腰三角形在计算机编程中具有一定的挑战性,需要利用循环和条件语句来实现。

三、C语言编程实现10行杨辉三角生成1. 在C语言中,我们可以利用数组和循环来实现杨辉三角的生成。

2. 我们定义一个二维数组来存储杨辉三角的数字,数组大小足够存储指定行数的数字。

3. 我们利用嵌套循环来计算每一行的数字,根据上一行的数字计算当前行的数字。

4. 我们将计算得到的数字打印出来,就得到了完整的杨辉三角。

四、C语言编程实现10行等腰三角形生成1. 对于等腰三角形的生成,我们同样可以利用C语言的数组和循环来实现。

2. 我们定义一个二维数组来存储等腰三角形的数字,数组大小足够存储指定行数的数字。

3. 我们利用嵌套循环来计算每一行的数字,根据行数和条件语句来确定每一行的数字范围。

4. 我们将计算得到的数字打印出来,就得到了完整的等腰三角形。

五、总结在本文中,我们详细介绍了杨辉三角和等腰三角形的概念,并分别利用C语言编程实现了在10行代码内生成这两个图形的方法。

通过本文的介绍和示例,我们可以看到C语言在处理数学图形的生成方面具有很强的灵活性和表现力。

编写这样的程序也对我们的逻辑思维和编程技巧提出了一定的挑战。

趣味程序C语言ppt课件

趣味程序C语言ppt课件
break;/*其他按键则忽略处理*/ } }
怎么样,是不是有了玩游戏的感觉了?不过 这个程序没有什么目的,也没有什么判断胜负的 条件。下面我们就利用这个能控制它移动的笑脸
来做一个更有趣的游戏吧!
中的笑脸
大家小时侯喜欢看动画片吗 ?
是啊,动画片那么有趣,谁不喜欢呢?
那么我请问大家,动画和图片的最
? 大区别是什么
没有错,动画之所以有趣,是 因为它是会动的,对不对?好的,现 在我们就让屏幕显示一个会自己移动 的笑脸。
运动的原理是,先擦去物体先前 的轨迹,让物体按其速度移动一段距 离,再画出该物体。让我们看到以下 代码:
… break; /*让物体向上运动,并退出switch*/ case DOWN: /*如果按的是向下键*/
… break; /*让物体向下运动,并退出switch*/ case LEFT: /*向左键*/
… break;;/*向左运动*/ case RIGHT: /*向右键*/
… break;/*向右运动*/ default:
精选
C语言——优秀的计算机语言
C语言对于计算机科学来说是一种非常重要的语言,也是最受欢迎 的语言之一。它具有功能强大、适用范围广、运算符简洁明了等优点。 很多系统软件就是C语言开发的,比如UNIX和我们耳熟能详的Windows 系统。现在要开发好的应用软件,离不开“C语言家族”(包括:VC++、 VC#、C++ build等)。有人说:初学的程序员用VB、聪明的程序员用 delphi、而真正的程序员用VC。从这句话也可以看出C语言的重要性。
int main() {
clrscr();/*清屏函数*/ printf("Hello, world!\n\n"); printf(“%c”,2); /*在屏幕上画一个笑脸,

c语言小游戏

c语言小游戏

2345678#include<stdio.h>main() { int a=0,b=0,c=0; if(a++>0&&b++>0)//此处先判断a>0为假,执行a+1,与运算,第一个判断为假,其值肯定为假,后面的都不执行了,而且跳出if 语句体,也就是b++没有 执行,++c 也没有执行 ++c;printf("\na=%d,b=%d,c=%d",a,b,c);C 语言实现的猜拳游戏(剪子锤子布),让你与电脑对决 这是一个简单的猜拳游戏(剪子包子锤),让你与电脑对决。

你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负。

下面的代码会实现一个猜拳游戏,让你与电脑对决。

你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负。

启动程序后,让用户出拳,截图:用户出拳,显示对决结果:截图:代码实现:#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){char gamer; // 玩家出拳int computer; // 电脑出拳int result; // 比赛结果// 为了避免玩一次游戏就退出程序,可以将代码放在循环中while (1){printf("这是一个猜拳的小游戏,请输入你要出的拳头:\n"); printf("A:剪刀\nB:石头\nC:布\nD:不玩了\n");scanf("%c%*c",&gamer);switch (gamer){case 65 | 97: // A | agamer=4; break;case 66 | 98: // B | bgamer=7; break;case 67 | 99: // C | cgamer=10; break;case 68 | 100: // D | dreturn 0;default:printf("你的选择为 %c 选择错误,退出...\n",gamer);getchar();system("cls"); // 清屏return 0;break;}srand((unsigned)time(NULL)); // 随机数种子computer=rand()%3; // 产生随机数并取余,得到电脑出拳result=(int)gamer+computer; // gamer 为 char 类型,数学运算时要强制转换类型printf("电脑出了");switch (computer){case 0:printf("剪刀\n");break; //4 1case 1:printf("石头\n");break; //7 2case 2:printf("布\n");break; //10 3}printf("你出了");switch (gamer){case 4:printf("剪刀\n");break;case 7:printf("石头\n");break;case 10:printf("布\n");break;}if (result==6||result==7||result==11) printf("你赢了!");else if (result==5||result==9||result==10) printf("电脑赢了!");else printf("平手");system("pause>nul&&cls"); // 暂停并清屏}return 0;}代码分析1) 首先,我们需要定义3个变量来储存玩家出的拳头(gamer)、电脑出的拳头(computer)和最后的结果(result),然后给出文字提示,让玩家出拳。

有趣的C语言代码集萃

有趣的C语言代码集萃
介绍完了前面两个问题,现在来写一个程序。这个程序演示前了面所介绍的几个图 形函数。 程序 prog1.c
怎样获取鍵盘输入?
在 Tc2.0 中有一个处理键盘输入的函数 bioskey(); int bioskey(int cmd);
当 cmd 为 1 时,bioskey()检测是否有键按下。没有键按下时返回 0;有键按下时返 回按键码(任何按键码都不为 0),但此时并不将检测到的按 键码从键盘缓冲队列中清除。
即中断发生时,将调用 isr()函数。
在程序开始的时候截获时钟中断,并设置新的中断处理。在程序结束的时候,一定 要记着恢复时钟中断哦,不然系统的计时功能会出问题 的。具体演示程序请参见 prog5.c。由于中断处理大家可能用的不多,所以我把 prog5.c 这个程序完整地贴在下面,并加上详细的解释。
/* 恢复原有的时钟中断处理过程 */ void KillTimer() { disable(); setvect(TIMER,oldhandler); enable(); }
void main(void) { int key,time=0;
1使用程序前先对图书库读者库进行初始化然后才能进行相应的操作2本程序又一定的纠错功能调用子函数对功能进行相应的选择的时候如果选择的端子不正确则提示错误对添加的读者函数操作的时候如果读者库已经满了读者申请的编号已经存在的情况则提示错误对删除读者函数操作的时候如果输入的读者编号不存在则提示错误对查找读者函数操作的时候如果输入的读者编号不存在的时候则提示错误对新书入库函数操作的时候如果书库已经满或者申请的书编号已经存在则提示错对删除的图书函数进行操作的时候如果要删除的图书编号不存在则提示出错对查找函数操作的时候如果要查找的图书函数不存在则提示出错对借书函数进行操作时如果读者编号不存在不能在借书所要借的书已经借出或者要借的书不存在的时候则提示出错对还书函数操作的时候如果读者编号不存在所还图书不为图书馆所有时则提示出错

c语言经典游戏代码

c语言经典游戏代码

c语⾔经典游戏代码C语⾔精品游戏主⾓和怪物源码//C语⾔多线程-主⾓和怪物#include#include#define bool int //定义int变量为bool变量,bool不是真就是假int a=0,b=20;//主⾓的坐标int x=1,y=0;//怪物的坐标int i=1;//i值为真HANDLE hMutex;//1.坐标void GamePosition(HANDLE g_hout,int x,int y){COORD pos;//点的结构体pos.X=x;//横坐标pos.Y=y;//纵坐标SetConsoleCursorPosition(g_hout,pos);//设置控制平台光标位置}DWORD WINAPI Func(LPVOID lpParamter)//多线程的功能函数6.线程是画怪物{HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//7.拿到这张纸WaitForSingleObject(hMutex, INFINITE);//13.⾃⼰进来,⾃⼰⽤洗⼿间GamePosition(hout,x,y),printf('●');//8.在纸上画怪物ReleaseMutex(hMutex);//14.放弃使⽤权while(1)//9.怪物在横坐标为从0-10依次循环移动{if(x>=0&&i==1){printf(' ');GamePosition(hout,++x,y);printf('●');Sleep(1000);if(x==10)}else if(x<>{printf(' ');GamePosition(hout,--x,y);printf('●');Sleep(1000);if(x==0)i=1;}}return 0;}int main(){HANDLE hThread = CreateThread(NULL, 0, Func, NULL, 0, NULL);//5.创建线程hMutex = CreateMutexA(NULL, FALSE, '123');//创建互斥锁(量)//10.关上洗⼿间HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//2.拿到这张纸WaitForSingleObject(hMutex, INFINITE);//11.等待你的同事出来 15步接着GamePosition(hout,a,b),printf('☆');//3.在纸上画主⾓ReleaseMutex(hMutex);//12.同事出来了,放弃了洗⼿间的使⽤权while(1){if(kbhit())switch(getch())//控制左右 4.主⾓上下左右移动{case 'w':case 'W':if(b>3)GamePosition(hout,a,b),printf(' '),GamePosition(hout,a,--b),printf('☆'); break;case 's':case 'S':if(b<20)gameposition(hout,a,b),printf('>break;col = rand() % 10;if(map[row][col] == '0'){map[row][col] = 'x';num++;}}while(num <>for (row = 0;row <=>for (col = 0;col <=>if(map[row][col] != 'x'){int cnt = 0;for (num = 0;num <=>if(row + delta[num][0] <>continue;}if(row + delta[num][0] > 9){continue;}if(col + delta[num][1] <>continue;}if(col + delta[num][1] > 9){continue;}if(map[row + delta[num][0]][col + delta[num][1]]== 'x'){ cnt++;}}map[row][col] = '0' + cnt;}}}for (row = 0;row <>for(col = 0;col < 10;col="">printf('* ');}num = 0;int x,y;do{printf('please enter the coordinate of array:'); scanf('%d%d',&x,&y);show[x-1][y-1] = 1;if(map[x-1][y-1] == '0'){for (num = 0;num <=>if(x-1 + delta[num][0] <>continue;}if(x-1 + delta[num][0] > 9){continue;}if(y -1+ delta[num][1] <>continue;}if(y-1 + delta[num][1] > 9){continue;}show[x-1+delta[num][0]][y-1+delta[num][1]] = 1; }}if (map[x-1][y-1]!= 'x'&&map[x-1][y-1] != '0'){for (num = 0;num <=>int cnt = 0;if(x-1 + delta[num][0] <>continue;}if(x-1 + delta[num][0] > 9){continue;}if(y-1 + delta[num][1] <>if(y-1 + delta[num][1] > 9){continue;}if( map[x -1 + delta[num][0]][y -1+ delta[num][1]] != 'x'){ show[x-1 + delta[num][0]][y -1+ delta[num][1]] = 1 ; }}}if(map[x-1][y-1] == 'x') {printf('game over!\n');for (row = 0;row <>for(col = 0;col < 10;col="">printf('%c ',map[row][col]);}printf('\n');}return 0;}system('cls');printf('mine sweeping:\n');for (row = 0;row <>for(col = 0;col < 10;col="">if (show[row][col] == 1){printf('%c ', map[row][col]);}else{printf('* ');}}printf('\n');}for (row = 0;row <>for(col = 0;col < 10;col=""> if (show[row][col] == 1 ){num++;}}}printf('num:%d\n',num);}while(num <>printf('you win!');return 0;}。

c语言儿童趣味课程设计

c语言儿童趣味课程设计

c语言儿童趣味课程设计一、课程目标知识目标:1. 学生能够掌握C语言的基本语法,包括变量定义、数据类型、运算符和表达式。

2. 学生能够理解并运用基本的控制结构,如顺序结构、分支结构和循环结构进行程序设计。

3. 学生能够运用数组、函数等概念编写简单的C语言程序。

技能目标:1. 学生能够运用C语言编写简单的趣味程序,培养编程思维和逻辑思维能力。

2. 学生能够通过编写程序解决实际问题,提高问题分析和解决问题的能力。

3. 学生能够掌握调试和修改程序的方法,培养良好的编程习惯。

情感态度价值观目标:1. 学生对C语言编程产生兴趣,激发学习计算机科学的热情。

2. 学生在编程实践中,培养合作、探究和创新的科学精神。

3. 学生通过编程学习,认识到编程对生活的重要性,增强社会责任感和使命感。

课程性质:本课程为儿童趣味C语言课程,以培养学生编程兴趣和基本技能为主。

学生特点:学生年龄较小,好奇心强,喜欢趣味性的教学内容,需要结合实际案例激发学习兴趣。

教学要求:教师需采用生动有趣的方式进行教学,注重实践操作,引导学生主动参与,培养编程思维和解决问题的能力。

同时,关注学生的个体差异,因材施教,确保每个学生都能在课程中收获知识和技能。

通过本课程的学习,使学生达到上述具体的学习成果。

二、教学内容本课程教学内容分为四个模块,每个模块均与教材相关章节紧密关联,确保学生系统地掌握C语言知识。

模块一:C语言基础知识(教材第一章)1. 计算机编程概述2. C语言发展历史和特点3. C语言程序结构4. 变量和常量的定义与使用模块二:基本数据类型与运算符(教材第二章)1. 整型、浮点型和字符型数据类型2. 运算符和表达式的使用3. 类型转换规则模块三:控制结构(教材第三章和第四章)1. 顺序结构2. 分支结构:if语句、switch语句3. 循环结构:for循环、while循环、do-while循环模块四:数组与函数(教材第五章和第六章)1. 数组的定义和使用2. 二维数组3. 函数的定义和调用4. 递归函数教学内容安排和进度:1. 模块一:2课时,让学生了解C语言的基础知识,为后续学习打下基础。

有趣的c 好玩的 程序设计 c c++

有趣的c 好玩的 程序设计 c c++

1.功能:求三个整数的平均值。

程序如下:#include <stdio.h> /*载入头文件stdio.h*/void main() /*主函数main*/{int a,b,c,d; /*定义a,b,c,d为整型变量*/a=105;b=75;c=85;d=(a+b+c)/3;printf("d=%d\n",d); /*显示"d=某数"并换行,某数是d的值*/ getchar(); /*等待用户,按任意键退出*/return 0;}2.功能:由键盘输入多边形的边数,求其内角和。

程序如下:#include <stdio.h>void main(){/*辨别多边形是否成立,不成立重新执行do-while语句间的命令*/ do{int x;printf("n=");scanf("%d",&x); /*由键盘输入x的值*/printf("%d\n",(x-2)*180); /*显示内角和,公式为(x-2)*180*//*辨别多边形是否成立,不成立显示“Error”,成立显示“Right”*/if (x<=2)printf("Error\n");elseprintf("Right\n");}while (x<=2); /*do-while语句*/getchar();return 0;}3.功能:由键盘输入两个数,显示器上显示较大数。

程序如下:#include <stdio.h>int big(int,int); /*创建整型变量函数big*/void main(){int x,y;scanf("%d,%d",&x,&y);printf("big is %d\n",big(x,y));/*输出big函数的值,因为main函数与用户自定义函数big无关系,所以printf后的输出项表是big(x,y),而不是big(n1,n2)*/getchar();return 0;}int big(int n1,int n2) /*用户自定义函数big*/{if (n1>n2)return n1; /*返回n1值*/elsereturn n2; /*返回n2值*/}4.功能:由键盘输入一个等腰三角形的层数,画一个这样的三角形。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
break;/*其他按键则忽略处理*/ } }
怎么样,是不是有了玩游戏的感觉了?不过 这个程序没有什么目的,也没有什么判断胜负的 条件。下面我们就利用这个能控制它移动的笑脸
来做一个更有趣的游戏吧!
游戏一:在 迷宫 中探索
小时侯,我常在一些小人书和杂志上看见一些迷宫的游戏, 非常喜欢玩,还常到一些书上找迷宫玩呢。好的,现在我们 用C语言来编个迷宫的游戏,重温一下童年的乐趣。
clrscr();/*清屏函数*/ printf("Hello, world!\n\n"); printf(“%c”,2); /*在屏幕上画一个笑脸,
笑脸的ASCII码是2 */
getch();/*接受按键,按任意键结束这个程序*/ return 0; }
运动 心动的开始——一个
中的笑脸
大家小时侯喜欢看动画片吗 ?
if (map[y][x] == '#') {
DrawWall(x, y); } } }
}
人不能穿过墙壁!
在判断按键时,如果玩家按的是方向键,我们还要先判断前 面是不是有“墙壁”,如果有的话,就不能往前移动了。好
的,我们在判断按键的switch语句的各个分支加上了判断
语句,如下: case UP:
大家一定玩过“搬运工”的游戏吧!这 是在电脑和电子字典上较流行的益智游 戏,让我们动手做一个属于自己的“搬 运工”吧!
游戏地图
程序依然用数组map来 保存地图,数组元素如 果为空格则表示什么也 没有,‘b’表示箱子, ‘#’表示墙壁,‘*’ 表示目的地,‘i’表示箱 子在目的地。我们以后 每推一下箱子,不但要 改变屏幕的显示,也要 改变map相应元素的值。
2、然后我们让物体按其速度运动:
man.x += man.xv;/*水平方向按x轴的速度运动*/
man.y += man.yv;/*垂直方向按y轴的速度运动*/
3、最后打印出这个笑脸:
gotoxy(man.x, man.y);
printf(“%c\b”, 2); /*输出ASCII码值为2的“笑脸”字符*/
char map[10][10] =
{
"
",
" ####",
" ### @#",
" # b #",
" ## # ###",
" # # # *#",
" # # b *#",
"# b
*#",
" ########",
"
"
};
游戏主循环
接受一个方 向键后
空地或目 的地?
直接移动
判断人前面 一格的状态
墙壁? 不可移动
struct move_point {
int x, y;/*该点的位置,包括x坐标和y坐标*/ int xv, yv;/*该点在x轴、y轴的速度*/ };
1、擦去物体原来的轨迹:
gotoxy(man.x, man.y);/*把光标移到指定的坐标*/
printf(“ “);/*输出一个空格,把先前的字符擦去*/
推子或目 的地上的 箱子?
继续判断箱 子的前面一 格的状态
程序还有一个重要的功能就是判断胜负。 数组Des用来记录全部目的地的坐标,我 们每执行一步操作后,程序就要通过Des 数组判断这些目的地上是否都有箱子了。
for (i=0, count=0; des[i].x != -1; ++i) /*清空count*/ {
接受按键我们用了bioskey函数, 并且用宏定义了一些键盘码,如下:
#define ESC 0x011b #define UP 0x4800 #define DOWN 0x5000 #define LEFT 0x4b00 #define RIGHT 0x4d00
让我们来看游戏的主循环:
接受按键
ESC键?
标等于目的地的坐标*/ {
gotoxy(35, 3); printf(“Ok! You win!”); /*输出胜利信息*/ …./*执行退出前的其他操作。*/ }
OK!这个“迷宫”的 游戏我们已经编好了! 下面,我们编一个更 好玩的游戏——推箱 子!
游 戏 二 : 聪 明 的
“ 搬 运 工 ”
… break; /*让物体向上运动,并退出switch*/ case DOWN: /*如果按的是向下键*/
… break; /*让物体向下运动,并退出switch*/ case LEFT: /*向左键*/
… break;;/*向左运动*/ case RIGHT: /*向右键*/
… break;/*向右运动*/ default:
好的,现在我们用一个二维数组map定义了一个 非常酷的地图。如下:
char map[10][20] =
{
"####################",
"# #
#",
"# ######### # # #",
"# ####
#
###",
"# #
###
# ##",
"# # #### # # # #",
"# #
的多 这媒 头体 ,电 梦脑 境 在
——
当计算机技术给游戏提供了强有力的支持后,一个 陌生而又似曾相识的新奇世界展示在人们面前。这里有 逝去的童年梦想,有心头压抑已久的情感;有疯狂、神 秘,也有脑力和技巧的挑战;有轻松获得实实在在的知 识,也有用“虚拟”成就一个别样的人生。这不是一个 神奇的世界吗?
退出游戏
接受按键
判断按键
上下左右键? 执行相关操作
无效按键?
忽略处理
While (key != ESC) {
while (bioskey(1) == 0);/*等待按键*/ key = bioskey(0);/*把接收的按键的键盘码赋给变量key*/
switch (key) /*对变量key的值进行判断*/ { case UP: /*如果按的是向上键*/
下面,我们就用编游戏来学习C语言吧!^_^
总是从 开始。
学习编程的第一个程序,一般就是打
印一个亲切的词语——“Hello, world!”。让我们来看看这个最简单的C 程序:
#incolude <stdio.h> /*把输入输出函数的头文件包含进来*/ int main()
{ printf(“Hello, world!”);/*在屏幕上输出字符串“Hello, world!”*/ return 0;/*退出main函数,并返回0*/
是啊,动画片那么有趣,谁不喜欢呢?
那么我请问大家,动画和图片的最
? 大区别是什么
没有错,动画之所以有趣,是 因为它是会动的,对不对?好的,现 在我们就让屏幕显示一个会自己移动 的笑脸。
运动的原理是,先擦去物体先前 的轨迹,让物体按其速度移动一段距 离,再画出该物体。让我们看到以下 代码:
程序开头,我们定义了一个在屏幕中运动 的点的结构类型:
趣味程序导学C语言
你玩过电脑游戏吗? 你喜欢电脑游戏吗? 电脑游戏是你生活中的一部分吗?
有的游戏改变过人的一生。。。
小时候,
游戏是 一台黑白的 电视机—— 现实在手柄 的这头,梦 境在手柄的 那头。
长大后,
游戏是一枚小小的铜币——现实 在摇杆的这头,梦境在摇杆的那头。
……
鼠现 游 现 标实 戏 在 的在 是 啊 那鼠 一 , 头标 台
C语言——优秀的计算机语言
C语言对于计算机科学来说是一种非常重要的语言,也是最受欢迎 的语言之一。它具有功能强大、适用范围广、运算符简洁明了等优点。 很多系统软件就是C语言开发的,比如UNIX和我们耳熟能详的Windows 系统。现在要开发好的应用软件,离不开“C语言家族”(包括:VC++、 VC#、C++ build等)。有人说:初学的程序员用VB、聪明的程序员用 delphi、而真正的程序员用VC。从这句话也可以看出C语言的重要性。
集思广益
好的,编游戏就这么简单……呵呵.
## #
#",
"# ##### # ## #
#",
"#
#
#",
"####################"
};
接着,我们用DrawMap函数把这个地图在 屏幕上画出来。
void DrawMap() {
int x = 0, y = 0; for (; y < 10; ++y) {
for (x=0; x < 20; ++x) {
让将要出界的物体“弹”回 出。
运动后还要判断物体是否出界,如果出了 界,就令物体反弹,即让它下一刻的速度等于 现在的速度的相反数。
好的,让我们看以下代码:
if (man.x >= 80 || man.x <= 0) {
man.xv = -man.xv; } if (man.y >= 25 || man.y <= 0) {
}
我们发现几个值得改进的地方,1、程序 的运行结果一闪而过。2、每执行这个程 序一次都能看见上次运行留下的字符。3、 我们还希望屏幕输出一个笑脸来欢迎我 们。
改进后的程序如下:
#include <stdio.h> #include <conio.h> /*使用了clrscr和getch函数*/
int main() {
if (map[man.y - 1][man.x] == ‘#’) break;/*如果人前面是墙壁,就不执行下去*/
相关文档
最新文档