c语言编程常用代码(C语言常用代码)

hacker2年前关于黑客接单95
本文导读目录:

求简单C语言程序代码!

小游戏2048源码:

#includestdio.h

#includestdlib.h

#includeconio.h

#includetime.h

#includewindows.h

int  jsk( );   //计算空格数

void rsgm( );  //重置游戏

void inkey( );  //按键输入

void left( );   //向左移动

void right( );  //向右移动

void up( );  //向上移动

void down( );  //向下移动

void show( );   //输出界面

void adnum( ); //添加随机数

void yes( );   //游戏是否结束(1是0否)

void gtxy(int x, int y); //控制光标位置的函数

int a[4][4];   //存储16个格子中的数字

int score = 0;  //每局得分

int best = 0;  //更高得分

int ifnum;  //是否需要添加数字(1是0否)

int over;   //游戏结束标志(1是0否)

int i,j,k;

int main( )

{ rsgm( );  //重置游戏

 inkey( );  //按键输入

 return 0;

}

void setColor(unsigned short ForeColor = 7, unsigned short BackGroundColor = 0)

{ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(handle, ForeColor + BackGroundColor * 0x10);

}  //用于控制字符颜色的函数

void rsgm( )  //重置游戏

{ score = 0; ifnum = 1; over = 0; srand((unsigned)time(0)); //启动随机数发生器

int n = rand( ) % 16;  //随机函数产生0-15的数字

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

{for (j = 0; j 4; j++)

  { if (n == 0) { int k = rand( ) % 3; if (k == 0 || k == 1) { a[i][j] = 2; }

           else { a[i][j] = 4; } n--; }

    else { a[i][j] = 0; n--; }

}

}

adnum( );

system("cls");

CONSOLE_CURSOR_INFO cursor_info={1,0};  //以下两行是隐藏光标的设置

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),cursor_info);

setColor(14, 0);  //设置字体淡红色,背景为黑色

printf("\n\n\t\t  2048小游戏"); setColor(7, 0);  //恢复白字黑底

printf("\n\t┌──────┬──────┬──────┬──────┐");

printf("\n\t│      │      │      │      │");

printf("\n\t├──────┼──────┼──────┼──────┤");

printf("\n\t│      │      │      │      │");

printf("\n\t├──────┼──────┼──────┼──────┤");

printf("\n\t│      │      │      │      │");

printf("\n\t├──────┼──────┼──────┼──────┤");

printf("\n\t│      │      │      │      │");

printf("\n\t└──────┴──────┴──────┴──────┘");

show( );

}

void show( )  //输出界面

{ for(i=0;i4;i++)

  for(j=0;j4;j++)

     { gtxy(7*j+9,2*i+4);   //gtxy(7*j+9, 2*i+4)是光标到指定位置输出数字

       if(a[i][j]==0){printf("      "); setColor(7, 0); printf("│");}

       else if(a[i][j]10){ if (a[i][j] == 2) {setColor(14, 0); }

                                   else if (a[i][j] == 4) {setColor(13, 0); }

                                   else if (a[i][j] == 8) {setColor(12, 0); }

                                  printf("   %d  ", a[i][j]); setColor(7, 0); printf("│");

                                }

      else if (a[i][j] 100){if (a[i][j] == 16) {setColor(12, 0); }

                                      else if (a[i][j] == 32) {setColor(10, 0); }

                                     else if (a[i][j] == 64) {setColor(2, 0); }

                                    printf("  %d  ", a[i][j]); setColor(7, 0); printf("│");

                                  }

    else if (a[i][j] 1000) {if (a[i][j] == 128) {setColor(9, 0); }

                                       else if (a[i][j] == 256) {setColor(1, 0); }

                                       else if (a[i][j] == 512) {setColor(13, 0); }

                                       printf("  %d ", a[i][j]); setColor(7, 0); printf("│");

                                     }

     else if (a[i][j] 10000) {if (a[i][j] == 1024) {setColor(5, 0); }

                                           else {setColor(15, 0); }

                                          printf(" %d ", a[i][j]); setColor(7, 0); printf("│");

                                        }

    }

   if (jsk( ) == 0)

        { yes( ); if (over) { gtxy(9,12); setColor(10, 0);

                                    printf("\n\n  游戏结束!是否继续? [ Y/N ]:"); }

}

}

void inkey( )   //按键输入

{ int key;

while (1)

   { key = getch( );

     if (over) { if (key == 89|| key == 121) {rsgm( ); continue; }

                     else  if (key == 78|| key == 110) { return; }

                     else  continue; }

     ifnum = 0;

     if(key==224)key=getch( );

     switch (key)

           { case 75: left( ); break;

 case 77: right( ); break;

 case 72: up( ); break;

 case 80: down( );break;

}

      if (score best) { best = score; }

      if (ifnum) { adnum( ); show( ); }

    }

}

int jsk( )   //计算空格数

{ int n = 0;

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

  { for (j = 0; j 4; j++) { if ( a[i][j] == 0) {n++;} }  }

    return n;

}

void left( )   //向左移动

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

   {for (j = 1, k = 0; j 4; j++)

      { if (a[i][j] 0)

          { if ( a[i][k] == a[i][j])

               { a[i][k] *= 2;  k++;

                 score = score + 2 * a[i][j];

                 a[i][j] = 0;  ifnum = 1; }

             else if ( a[i][k] == 0) { a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }

             else { a[i][k + 1] = a[i][j]; if ((k + 1) != j) { a[i][j] = 0; ifnum = 1; }

             k++; }

         }

      }

   }

}

void right( )   //向右移动

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

{for (j = 2, k = 3; j = 0; j--)

     {if (a[i][j] 0)

         { if (a[i][k] == a[i][j])

              {a[i][k] *= 2; k--; score = score + 2 * a[i][j]; a[i][j] = 0; ifnum = 1; }

          else if ( a[i][k] == 0) {a[i][k] = a[i][j]; a[i][j] = 0; ifnum = 1; }

          else { a[i][k - 1] = a[i][j]; if ((k - 1) != j) { a[i][j] = 0; ifnum = 1; } k--; }

   }

    }

}

}

void up( )   //向上移动

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

{for (j = 1, k = 0; j 4; j++)

    {if (a[j][i] 0)

         {if ( a[k][i] == a[j][i]) { a[k][i] *= 2; k++;score = score + 2 * a[j][i];

                                            a[j][i] = 0; ifnum = 1; }

          else if ( a[k][i] == 0) { a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }

          else { a[k + 1][i] = a[j][i]; if ((k + 1) != j) { a[j][i] = 0; ifnum = 1; }

          k++; }

        }

    }

}

}

void down( )   //向下移动

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

{for (j = 2, k = 3; j = 0; j--)

     {if (a[j][i] 0)

         {if (a[k][i] == a[j][i])

               {a[k][i] *= 2; k--;score = score + 2 * a[j][i]; a[j][i] = 0; ifnum = 1; }

          else if (a[k][i] == 0) {a[k][i] = a[j][i]; a[j][i] = 0; ifnum = 1; }

          else {a[k - 1][i] = a[j][i];

          if ((k - 1) != j) {a[j][i] = 0; ifnum = 1; } k--; }

         }

     }

}

}

void adnum( )   //添加随机数

{ srand(time(0));   //启动随机数发生器

int n = rand( ) % jsk( );

for (int i = 0; i 4; i++)

{for (int j = 0; j 4; j++)

      { if (a[i][j] == 0) { if (n != 0) { n--; }

                                  else {int k = rand() % 3;

                                         if (k == 0 || k == 1) {a[i][j] = 2; return; }

                                         else {a[i][j] = 4; return; } }

                               }

 }

}

}

void yes( )   //游戏是否结束

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

{for (int j = 0; j 3; j++)

       {if (a[i][j] == a[i][j + 1] || a[j][i] == a[j + 1][i]) {over = 0; return; }}

}

over = 1;

}

void gtxy(int x, int y)   //控制光标位置的函数

{ COORD coord;

coord.X = x;

coord.Y = y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);

}

C语言中所有的代码及其代表的意思,有谁知道?

这个问题问的太。。。。了,给你找了个操作符(operator)用于操作数据。操作符进行计算、检查等式、进行赋值、操作变量和进行其它更奇怪的工作。C++中有许多操作符,这里不想列出全部,只列出最常用的操作符,如下表所示。表1.2常用C++操作符操作符说明举例

算术运算符

+ 加 x=y+z;

- 减 x=y-z;

* 乘 x=y*z;

/ 除 x=y/z;

赋值运算符

= 赋值 x=10;

+= 赋值与和 x+=10;(等于x=x+10;)

-= 赋值与减 x-=10;

*= 赋值与乘 x*=10;

\= 赋值与除 x\=10;

= 赋值位与 x=0x02;

|= 赋值位或 x|=0x02;

逻辑操作符

逻辑与 if(x 0xFF) {...}

|| 逻辑或 if(x || 0xFF) {...}

等式操作符

== 等于 if(x == 10) {...}

!= 不等于 if(x != 10) {...}

小于 if(x 10) {...}

大于 if(x 10) {...}

= 小于或等于 if(x = 10) {...}

= 大于或等于 if(x = 10) {...}

一元操作符

* 间接操作符 int x=*y;

地址操作符 int* x=y;

~ 位非 x =~0x02;

! 逻辑非 if(!valid) {...}

++ 递增操作符 x++(等于x=x+1;)

-- 递减操作符 x--;

类和结构操作符

:: 范围解析 MyClass :: SomeFunction();

- 间接成员 MyClass- SomeFunction();

· 直接成员 MyClass . SomeFunction();

可以看出,这个清单长了些,没法一下子记住。使用C++时,你会慢慢熟悉这些操作符的。必须指出,递增操作符既可用作前递增(++x),也可用作后递增(x++)。前递增操作符告诉编译器先递增再使用变量,而后递增操作符则让编译器先使用变量值再递增。例如下列代码:

int x = 10;

cout "x = " x++ end1;

cout "x = " x end1;

cout "x = " x end1;

cout "x = " ++x end1;

输出结果如下:

x=10

x=11

x=12

x=12

递减操作符也是这样,这里不想将这些内容讲得太深,但读者可以耐心阅读下去,正如彭兹对奥古斯特所说,“奥古,耐心点,罗马不是一天建成的”。说明 在C++中操作符可以过载(overload)。编程人员可以通过过载标准操作符让它在特定类中进行特定运行。例如,可以在一个类中过载递增操作符,让它将变量递增10而不是递增1。操作符过载是个高级C++技术,本书不准备详细介绍。你也许会发现,有些操作符使用了相同的符号。符号的意义随情境的不同而不同。例如,星号(*)可以作为乘号、声明指针或取消指针引用。这初看起来有点乱,事实上,C++编程老手有时也觉得有点乱。多实践,你会慢慢适应的。本书有许多例子介绍这些操作符。读者不必死记每个操作符的作用,而可以在学习中通过程序和码段去理解其作用。 C++中的函数

函数是与主程序分开的码段。这些码段在程序中需要进行特定动作时调用(执行)。例如,函数可能取两个值并对其进行复杂的数学运算。然后返回结果,函数可能取一个字串进行分析,然后返回分析字串的一部分。新术语 函数(function)是与主程序分开的码段,进行预定的一个服务。函数是各种编程语言的重要部分,C++也不例外。最简单的函数不带参数,返回void(表示不返回任何东西),其它函数可能带一个或几个参数并可能返回一个值。函数名规则与变量名相同。图1.5显示了函数的构成部分。新术语 参数(parameter)是传递给函数的值,用于改变操作或指示操作程度。

返回类型 函数名 参数表

↓ ↓ ↓

int SomeFunction(int x, int y){

函数体→int z = (x * y); return z; ↑返回语句

}

图1.5函数的构成部分使用函数前,要先进行声明。函数声明或原型(prototype)告诉编译器函数所取的参数个数、每个参数的数据类型和函数返回值的数据类型。清单1.4列示了这个概念。新术语 原型(prototype)是函数外观的声明或其定义的说明。

清单1.4Muttiply.cpp

1: #include iostream.h

2: #include conio.h

3: #pragma hdrstop

4:

5: int multiply(int,int)

6: void showResult(int);

7:

8:int main(int argc,char **argv);

9:{

10: int x,y,result;

11: cout end1 "Enter the first value:";

12: cin x;

13: cout "Enter the second value: ";

14: cin y;

15: result=multiply(x,y);

16: showResult(result);

17: cout end1 end1 "Press any key to continue...";

18: getch();

19: return 0

20: }

21:

22: int multiply(int x,int y)

23: {

24:return x * y;

25: }

26:

27: void showResult(int res)

28: {

29:cout "The result is: " res end1;

30: }

这个程序的11到14行用标准输入流cin向用户取两个数字,第15行调用multiply()函数将两个数相乘,第16行调用showResult()函数显示相乘的结果。注意主程序前面第5和第6行multiply()和showResult()函数的原型声明。原型中只列出了返回类型、函数名和函数参数的数据类型。这是函数声明的最基本要求。函数原型中还可以包含用于建档函数功能的变量名。例如,multiply()函数的函数声明可以写成如下:int multiply(int firstNumber,int secondNumber);这里函数multiply()的作用很明显,但代码既可通过说明也可通过代码本身建档。注意清单1.4中函数multiply()的定义(22到25行)在主函数定义码段(8到20行)之外。函数定义中包含实际的函数体。这里的函数体是最基本的,因为函数只是将函数的两个参数相乘并返回结果。清单1.4中函数multiply()可以用多种 *** 调用,可以传递变量、直接数或其它函数调用的结果:

result = multiply(2,5);//passing literal values

result = multiply(x,y); //passing variables

showResult(multiply(x,y));

//return value used as a

//parameter for another function

multiply(x,y);//return value ignored

注意 最后一例中没有使用返回值。本例中调用函数multiply()而不用返回值没什么道理,但C++编程中经常忽略返回值。有许多函数是先进行特定动作再返回一个数值,表示函数调用的状态。有时返回值与程序无关,可以忽略不计。如果将返回值忽略,则只是放弃这个值,而不会有别的危害。例如,前面的样本程序中忽略了getch()函数的返回值(返回所按键的ASCII值)。函数可以调用其它函数,甚至可以调用自己,这种调用称为递归(recursion)。这在C++编程中是个较复杂的问题,这里先不介绍。新术语 递归(recursion)就是函数调用自己的过程。

c语言编程代码

例如:输入某年某月某日,判断这一天是这一年的第几天。

1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

情况,闰年且输入月份大于3时需考虑多加一天。

2.程序源代码:

复制代码 代码如下:

main()

{

int day,month,year,sum,leap;

printf("\nplease input year,month,day\n");

scanf("%d,%d,%d",year,month,day);

switch(month)/*先计算某月以前月份的总天数*/

{

 case 1:sum=0;break;

 case 2:sum=31;break;

 case 3:sum=59;break;

 case 4:sum=90;break;

 case 5:sum=120;break;

 case 6:sum=151;break;

 case 7:sum=181;break;

 case 8:sum=212;break;

 case 9:sum=243;break;

 case 10:sum=273;break;

 case 11:sum=304;break;

 case 12:sum=334;break;

 defaultrintf("data error");break;

}

sum=sum+day;  /*再加上某天的天数*/

 if(year%400==0||(year%4==0year%100!=0))/*判断是不是闰年*/

leap=1;

 else

leap=0;

if(leap==1month2)/*如果是闰年且月份大于2,总天数应该加一天*/

sum++;

printf("It is the %dth day.",sum); }

c语言必背代码有哪些?

c语言必背代码:

求更大公约数的代码

求最小公倍数的代码

求1到100的和的代码

九九乘法表

一维数组的更大值、最小值和平均值

二维数组的更大值、最小值和平均值

二维数组的转置

C语言编程代码

之一步,定义3个数组和2个float型变量,用for循环接收学生学号和成绩放入a数组并求出成绩总数和平均值

第二部,利用for循环和if...else if来找到高出平均成绩20%和%10的人,分别放入b,c数组中

第三步,输出b,c数组中的学生学号和成绩,奖学金等级。

相关文章

四个方法获得上海在飞空姐在线预约微信联系方式【金红】

四个方法获得上海在飞空姐在线预约微信联系方式【金红】 今天给大家分享的内容是“四个方法获得上海在飞空姐在线预约微信联系方式【金红】”,我是金红,来自大港区,今年18岁,作为职业:广州模特经纪人,我...

一份B端产品上线的深刻总结,不要再走弯路!

一份B端产品上线的深刻总结,不要再走弯路!

编辑导读:复盘是每一个优秀的职场人都应该具备的一项技术,产物司理也不破例。本文作者以一份B端产物上线为例,从流程和心态见识两方面举办复盘,但愿对你有辅佐。 本年6月由于公司需要,作为B端产物司理人,...

一些简单好用的黑客技巧(黑客快速入门)

一些简单好用的黑客技巧(黑客快速入门)

本文导读目录: 1、黑客有哪些攻击手段? 2、黑客入侵手法 3、黑客攻防教学 4、黑客13种入侵手法 5、电脑黑客有哪些高明的小技巧? 6、黑客入侵的手法包括哪几种.????..`...

黄钻怎么开通?开通黄砖只是为了去看你一眼

黄钻怎么开通?开通黄砖只是为了去看你一眼

分手三年 总是忍不住访问ta的空间 从不玩空间的我 就为了隐身访问开通了黄钻 我偷偷进去,默默删了浏览记录,只是看到你安好,就足够了。 曾经的我们如胶似漆 现在的我只能偷偷的去看你...

房产知识:怎么看是否集体户口啊?

相信现在有很多的朋友们对于怎么看是否集体户口啊?都想要了解吧,那么今天小编就来给大家针对怎么看是否集体户口啊?进行一个介绍吧,希望小编介绍的内容能够为大家起到帮助哦 集体户口一般是是指像国企煤矿那种的...

去哪找专业的黑客(到哪里找专业的黑客)

一、去哪找专业的黑客(到哪里找专业的黑客)方法总结 1、哪里才能找到真正的黑客或者骇客只要是学计算机专业的都懂一点,可以去计算机学校找。黑客是一群晃荡于网络上的技术人员,他们熟悉操作的设计与维护;在...