本文目录
较复杂的c语言程序设计源代码
一个“歼灭敌机”的小游戏,DEVc++通过编译:
#include 《stdio.h》
#include 《conio.h》
#include 《stdlib.h》
#include 《windows.h》
#include 《time.h》
#define zlx 10 //增量坐标(x)让游戏框不靠边
#define zly 3 //增量坐标(y)让游戏框不靠边
#define W 26 //游戏框的宽度
#define H 24 //游戏框的高度
int jiem={0}, wj=10; //界面数组, 我机位置(初值为10)
int speed=4,density=30, score=0,death=0; //敌机速度, 敌机密度, 玩家成绩,死亡次数
int m=0,n=0; // m,n是控制敌机的变量
void gtxy (int x, int y) //控制光标位置的函数
{ COORD pos;
pos.X = x; pos.Y = y;
SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );
}
void Color(int a) //设定颜色的函数(a应为1-15)
{ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), a ); }
void yinc(int x=1,int y=0) //隐藏光标的函数
{ CONSOLE_CURSOR_INFO gb={x,y}; //y设为0即隐藏
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &gb);
}
void csh( ) //初始化函数
{ int i;
Color(7);
gtxy(zlx,zly); printf("╔"); gtxy(zlx+W-2,zly); printf("╗"); //左上角和右上角的框角
gtxy(zlx,zly+H-1); printf("╚"); gtxy(zlx+W-2,zly+H-1); printf("╝"); //下边两框角
for(i=2;i《W-2;i+=2) {gtxy(zlx+i,zly); printf("═"); } //打印上横框
for(i=2;i《W-2;i+=2) {gtxy(zlx+i,zly+H-1); printf("═"); } //打印下横框
for(i=1;i《H-1;i++) { gtxy(zlx,zly+i); printf("║"); } //打印左竖框
for(i=1;i《H-1;i++) {gtxy(zlx+W-2,zly+i); printf("║"); } //打印右竖框
Color(14); gtxy(19,2); printf("歼灭敌机"); Color(10);
gtxy(37,5); printf("设置:Esc ");
gtxy(37,7); printf("发射:↑ ");
gtxy(37,9); printf("控制:← → ");
gtxy(37,11);printf("得分:%d",score);
gtxy(37,13); printf("死亡:%d",death);
yinc(1,0);
}
void qcjm( ) //清除界面函数
{int i,j;
for(i=0;i《H-2;i++)
for(j=0;j《W-4;j++){gtxy(zlx+2+j,zly+1+i);printf(" ");}
}
void feiji( ) //飞机移动函数
{int i,j;
for(i=21;i》=0;i--) //从底行往上是为了避免敌机直接冲出数组
for(j=0;j《22;j++)
{if(i==21&&jiem=0; //底行赋值0 以免越界
if(jiem=3;
}
if(jiem==1) death++;
}
void zidan( ) //子弹移动函数
{ int i,j;
for(i=0;i《22;i++)
for(j=0;j《22;j++)
{if(i==0&&jiem=0;
if(jiem==3) score+=100,printf("\7");
jiem=2; }
}
}
void print( ) //输出界面函数
{int i,j;
qcjm( );
for(i=0;i《22;i++)
for(j=0;j《22;j++)
{ gtxy(12+j,4+i);
if(jiem==3) {Color(13);printf("□");}
if(jiem==2) {Color(10);printf(".");}
if(jiem==1) {Color(10);printf("■");}
}
gtxy(37,11); Color(10);printf("得分:%d",score);
gtxy(37,13); printf("死亡:%d",death);
}
void setting( ) //游戏设置函数
{ qcjm( );
gtxy(12,4);printf("选择敌机速度:");
gtxy(12,5);printf(" 1.快 2.中 3.慢》》");
switch(getche( ))
{case ’1’: speed=2; break;
case ’2’: speed=4; break;
case ’3’: speed=5; break;
default: gtxy(12,6);printf(" 错误!默认值");
}
gtxy(12,7);printf("选择敌机密度:");
gtxy(12,8);printf(" 1.大 2.中 3.小》》");
switch(getche( ))
{case ’1’: density=20; break;
case ’2’: density=30; break;
case ’3’: density=40; break;
default: gtxy(12,9);printf(" 错误!默认值");
}
for(int i=0;i《22;i++)
for(int j=0;j《22;j++) jiem=0;
jiem=3;
gtxy(12,10);printf(" 按任意键保存...");
getch( );
qcjm( );
}
void run( ) //游戏运行函数
{ jiem=1; //值为1代表我机(2则为子弹)
jiem=3; //值为3代表敌机
SetConsoleTitle("歼灭敌机"); //设置窗口标题
while(1)
{ if (kbhit( )) //如有键按下,控制我机左右移动、发射或进行设定
{int key;
if((key=getch( ))==224) key=getch( );
switch(key)
{case 75: if(wj》0) jiem=1; break;
case 77: if(wj《20) jiem=1; break;
case 72: jiem=2; break;
case 27: setting( );
}
}
if(++n%density==0) //控制产生敌机的速度
{ n=0;srand((unsigned)time(NULL));
jiem=3;
}
if(++m%speed==0) { feiji( ); m=0; } //控制敌机移动速度(相对子弹而言)
zidan( ); //子弹移动
print( ); //输出界面
Sleep(120); //延时120毫秒
}
}
int main( )
{csh( );
run( );
return 0;
}
用C语言写一个加法运算的代码怎么写
例子如下:
直接编译,程序输出结果中任意输入两个数字,程序执行结果如下图所示:
知识扩展:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。
C语言,求大神,求代码
递归,代码如下,请采纳
#include 《stdio.h》int cnt = 0;void dfs(int m,int n,int *a,int cur){ if(m == 0) { /*可打印分堆方式 *for(int i=0;i《cur;i++) * printf("%d ",a); *printf("\n"); */ cnt++; } else if(cur == n) return; else for(int i=m;i》0;i--) { if(cur》0&&i》a) continue; a=i; dfs(m-i,n,a,cur+1); }}int main(){ int T,m,n; scanf("%d",&T); while(T--) { scanf("%d%d",&m,&n); int *a = new int; dfs(m,n,a,0); printf("%d\n",cnt); cnt=0; } return 0;}
c语言代码玫瑰花
#include《iostream》#include《cmath》usingnamespacestd;voidgetRoseNum(intlower,intupper);boolisRoseNum(intn);voidmain(){intupper,lower;cout《《“请输入下界:”《《endl;cin》》lower;cout《《“请输入上界:”《《endl;cin》》upper。
cout《《“所有玫瑰花数:”getRoseNum(lower,upper);}voidgetRoseNum(intlower,intupper){if((lower《1000)||(upper》9999)){cout《《“上下界错误!”《《endl;return;}for(inti=lower;i《=upper;i++){if(isRoseNum(i))。
注意事项:
C语言是普适性最强的一种计算机程序语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。具体体现为以下三个方面:
其一,广泛性。C语言的运算范围的大小直接决定了其优劣性。C语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。
其二,简洁性。9类控制语句和32个关键字是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同时还能够支持高级编程,避免了语言切换的繁琐。
其三,结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显著优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。