c语言函数小程序 c程序数学函数

c语言指针 函数小程序你的函数一团糟,if里面的表达式就不可能成立!void find_number(char *string,int *number,int *n){int g=0,m=0,k=0,i;for(i=0;string[i];i)if(string[i]47string[i]58){g=g*10 (string[i]-48);k;}else if(k){number[m]=g;*n =1;g=0;k=0;}}
有什么好玩的C语言小程序一个“歼灭敌机”c语言函数小程序的小游戏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[22][22]={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_INFOgb={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;iW-2;i =2) {gtxy(zlx i,zly);printf("═"); }//打印上横框
for(i=2;iW-2;i =2) {gtxy(zlx i,zly H-1); printf("═"); }//打印下横框
for(i=1;iH-1;i) { gtxy(zlx,zly i);printf("║"); }//打印左竖框
for(i=1;iH-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;iH-2;i)
for(j=0;jW-4;j){gtxy(zlx 2 j,zly 1 i);printf(" ");}
}
void feiji( )//飞机移动函数
{int i,j;
for(i=21;i=0;i--)//从底行往上是为c语言函数小程序了避免敌机直接冲出数组
for(j=0;j22;j)
{if(i==21jiem[i][j]==3) jiem[i][j]=0;//底行赋值0 以免越界
if(jiem[i][j]==3) jiem[i][j]=0, jiem[i 1][j]=3;
}
if(jiem[20][wj]==3jiem[21][wj]==1) death;
}
void zidan( )//子弹移动函数
{ int i,j;
for(i=0;i22;i)
for(j=0;j22;j)
{if(i==0jiem[i][j]==2) jiem[i][j]=0;
if(jiem[i][j]==2) { if(jiem[i-1][j]==3) score =100,printf("\7");
jiem[i][j]=0,jiem[i-1][j]=2; }
}
}
void print()//输出界面函数
【c语言函数小程序 c程序数学函数】{int i,j;
qcjm( );
for(i=0;i22;i)
for(j=0;j22;j)
{ gtxy(12 j,4 i);
if(jiem[i][j]==3) {Color(13);printf("□");}
if(jiem[i][j]==2) {Color(10);printf(".");}
if(jiem[i][j]==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;i22;i)
for(int j=0;j22;j)jiem[i][j]=0;
jiem[21][wj=10]=1; jiem[0][5]=3;
gtxy(12,10);printf("按任意键保存...");
getch( );
qcjm( );
}
void run( )//游戏运行函数
{ jiem[21][wj]=1;//值为1代表我机(2则为子弹)
jiem[0][5]=3;//值为3代表敌机
SetConsoleTitle("歼灭敌机");//设置窗口标题
while(1)
{ if (kbhit( ))//如有键按下,控制我机左右移动、发射或进行设定
{int key;
if((key=getch( ))==224) key=getch( );
switch(key)
{ case 75: if(wj0) jiem[21][wj]=0,jiem[21][--wj]=1; break;
case 77: if(wj20) jiem[21][wj]=0,jiem[21][wj]=1; break;
case 72: jiem[20][wj]=2; break;
case 27: setting( );
}
}
if(n辬sity==0)//控制产生敌机的速度
{ n=0;srand((unsigned)time(NULL));
jiem[0][rand( )1]=3;
}
if(m%speed==0) {feiji( ); m=0;}//控制敌机移动速度(相对子弹而言)
zidan( );
print( );
Sleep(120);//延时120毫秒
}
}
int main( )
{csh( );
run( );
return 0;
}
新手要方便写代码 , 可以收藏下面几个自编函数:
SetConsoleTitle("俄罗斯方块");//设置窗口左上角标题栏处出现"俄罗斯方块"5个字
srand( (unsigned) time(NULL) );//初始化随机数发生器
n= rand() % 20;//产生随机数0-19中的一个. 如 rand()%5 就产生0-4中的一个数
SetConsoleTitle()函数在windows.h里, srand()函数与rand()函数要配合用,
就是同时要用,在stdlib.h里 。如果 rand( ) 1 就产生1-10之中的一个数 。
Sleep(300);//延时300毫秒(就是程序暂停300毫秒后继续运行)
system("cls");//清屏(把窗口里的内容全部清除,光标定于(0,0)位置处)
这两个函数都在windows.h里 。开头4个自编函数 编写如下:
void gtxy (int x, int y)//控制光标位置的函数
{ COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );
}
void Color (int a)//设定颜色的函数
{ SetConsoleTextAttribute ( GetStdHandle ( STD_OUTPUT_HANDLE ),a ); }
void yinc (int x,int y)//隐藏光标的函数
{ CONSOLE_CURSOR_INFOgb={ x , y };//gb代表光标
SetConsoleCursorInfo ( GetStdHandle(STD_OUTPUT_HANDLE),gb );
}
void kou(int w,int h)//设置窗口大小的函数
{HANDLEhl=GetStdHandle ( STD_OUTPUT_HANDLE ) ;
COORDsize={ w , h };
SetConsoleScreenBufferSize( hl , size );
SMALL_RECTrc={ 0, 0, w, h };
SetConsoleWindowInfo( hl, 1, rc );
}
最后这个函数,参数w是宽h是高 。里边5行中第一行定义了句柄型变量hl,并给它赋值 。
第二行定义了坐标型结构体变量size,它的取值决定了缓冲区的大小 。第三行就是使用
size的值设置好缓冲区大小 。第四行定义了变量rc,它的值决定当前窗口显示的位置与
大小(不得超过缓冲区的大小) 。前两个0,0是从缓冲区左上角0列0行位置处开始,后两
个参数可以小于w和h.比如 rc={0,0,w-10,h-5}; 最后一行使用rc的值设置好窗口,中间
那个参数要为" 1 "或写“ true ”才有效 。
用C语言写一个小程序,麻烦大家了// 记得多给点分哦,很难写的 。
// C
#include stdio.h
int strnmerge(char*str,int n,char const*s1,char const*s2){
while(n0) {
if(!(*s1)!(*s2)) break;
if(*s1n0) {
*str= *s1;
--n;
}
if(*s2n0) {
*str= *s2;
--n;
}
}
*str = '\0';
}
int main() {
char s1[] = "aaaa";
char s2[] = "bbbbbbbbb";
char str[100];
strnmerge(str, 10, s1, s2);
printf("s1 = %s\n", s1);
printf("s2 = %s\n", s2);
printf("str = %s\n", str);
return 0;
}
// C
#include iostream
using namespace std;
int strnmerge(char*str,int n,char const*s1,char const*s2){
while(n0) {
if(!(*s1)!(*s2)) break;
if(*s1n0) {
*str= *s1;
--n;
}
if(*s2n0) {
*str= *s2;
--n;
}
}
*str = '\0';
}
int main() {
char s1[] = "aaaa";
char s2[] = "bbbbbbbbb";
char str[100];
strnmerge(str, 10, s1, s2);
cout"s1= "s1endl;
cout"s2= "s2endl;
cout"str = "strendl;
return 0;
}
关于c语言函数小程序和c程序数学函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读