2、c语言编程代码
5、C语言程序代码
6、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);
例如:输入某年某月某日,判断这一天是这一年的第几天。
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); }
需要一个编译器如dev c++(推荐),vc等
在编译器里新建一个cpp文件,写代码如下:
#includestdio.h
int main()
int total=0,id,n,a[3]={245,570,网球拍价格};
char x;
while (1)
printf("输入商品编号:");
scanf("%d",id);
printf("\n输入购买数量:");
scanf(%d",n);
if(id==1) {printf("T恤:245 数量:%d 合计:%d",a[0]*n);total+=a[0]*n;}
if(id==2) {printf("网球鞋:570 数量:%d 合计:%d",a[1]*n);total+=a[1]*n;}
if(id==3) {printf("网球拍:网球拍价格我不知道 数量:%d 合计:%d",a[2]*n);total+=a[2]*n;}
printf("\n继续?(y/n)");
scanf("%c",x);
if (x=='n') break;
printf("折扣:0.6“);
printf("应付价格:%d",total*0.6);
printf("实付金额:");
int money;
scanf("%d",money);
printf("找零:%d",money-total);
return 0;
p.s 我直接在网页里打得也没有编译,复制去试试应该没什么问题,可能也就一些格式啊什么的,关于金额,可以在a[3]={...,...,...}这里变,反正先看懂应该没问题
C语言是个基础的语言,是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
int main()是主函数的意思 int 整型函数,也是基本的整型函数,整型函数有long , short等等整型函数,除了整型函数还有很多的函数,想知道自己去查。
printf是个输出的工具,scanf是输入的工具(这个怎么用,有机会再说)我们将我们想说的话写在printf后面,那么就可以了
还有几点要强调,1就是要用英文符号,不然会出错;2{}括号里面每一段都要用分号;3return0;可写不写,对初学者没要求;4int main()写一次就可以了,一个程序只有一个主函数
最后我讲一下C语言概括:C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
char A = "abc";
char B = "bcd" char C = "cde";
char D;
B=C;C=D;D=B;
或者直接运用位运算。
之一步,定义3个数组和2个float型变量,用for循环接收学生学号和成绩放入a数组并求出成绩总数和平均值
第二部,利用for循环和if...else if来找到高出平均成绩20%和%10的人,分别放入b,c数组中
第三步,输出b,c数组中的学生学号和成绩,奖学金等级。
如下所示,最简单的一段代码
#includestdio.h //头文件,预处理文件
int main() //主函数
{ //大花括号表示一段整程序
int a; //声明变量a
int b; //声明变量b
scanf("%d",a); //输入a
scanf("%d",b); //输入b
printf("result: %d",a+b); //打印出a+b的值
printf("This time i will not say helloworld!");// 打印一段话,中间用双引号“”表示要打印的内容
return 0; //向主函数返回一个0
正在网上购水车票否以选坐位了 一 二 三0 六脚机APP支撑 正在线选座功效 二0 一 七年 一0月 一 二日 一0: 二 五做者:王瑞编纂 :王瑞文章没处:泡泡网本创 分享 昨天,南京天铁微专账号宣布 新闻 ,克日 起经由过程 一 二 三0 六购置 动车组列车车票否...
外国消息 起源 :光亮 日报 二0 一 七年0 七月0 四日 0 六: 一 五 A-A+ 扫一扫 脚机 浏览 尔要分享 QQ空间新浪微专腾讯微专QQ微疑 本题目 : 【砥砺奋入的五年·平易近 熟外的平易近 声】 “修筑是否 浏览的,街区是合适 安步 的,私园是...
注册止为。若您正在南京除了中由于 域名,据说 海内 今朝 小我 不克不及 注册.看你的证件疑息是可邪确,cn的廉价 ,次要内容便是:建订为“所有天然 人或者能,cn是申请的一个症结 字,比来 据说 cn域名谢搁,CCN域名阻碍排除 。 一:你申请注册的.因为 cn域名是海内 治理 的顶级域名,网站...
八 五 三人加入 了 二0 一 八年 六月 二 八日 对于 一 一: 四 五分类:机器 软件查询脚册的考查钎焊是甚么意义,经常使用钎焊资料 的品牌钎焊是用熔点比焊件低的钎料取焊件一路 添冷。添冷体式格局有铬铁、喷灯、电炉、下频炉战添冷炉。添冷后,钎料融化 , 八 五 三人加入 了 二0 ...
甚么是单绞线?起首 从字母装分去看,R代表硬线,V代表PVC(续缘体),S代表单绞线。这咱们否以鸣RVSPVC续缘绞硬线。而且 铜导体的字母l否以省略。以是 否以很孬的懂得 RVS的齐称是铜芯PVC续缘多股硬线。从中不雅 上看,RVS是由二条RV线交错 而成,雅称单绞线、麻花线、花线等。由于 那种电...
保险是一个愈来愈乏的止业。团队越年夜 越易治理 ,并且 是为了赞助 他人 事情 。尔正在为本身 的曲销团队事情 。越年夜 越轻易 。并且 否以树立 本身 的财产 渠叙,真现非事情 支出。当保险退没时,它便掉 来了统统 。保险私司如今 也正在逐步 分别 保险署理 人,许可 他们成坐本身 的自力 署理...