首页技术c语言源代码大全?C语言开发软件

c语言源代码大全?C语言开发软件

编程之家2026-06-111179次浏览

老铁们,大家好,相信还有很多朋友对于c语言源代码大全和C语言开发软件的相关问题不太懂,没关系,今天就由我来为大家分享分享c语言源代码大全以及C语言开发软件的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

c语言源代码大全?C语言开发软件

C语言源代码是什么

数字版“拼图”游戏C源代码:

#include<time.h>

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<windows.h>

c语言源代码大全?C语言开发软件

int i, j, r, k;//i、j、r用于循环, k存放随机数值

int m, n;// m、n是当前空位的下标, t标记排序是否成功

int a[4][4];//存储4×4共16个数字的数组

void show(void);//输出数组表格

void csh(void);//初始化界面

int yes(void);//判断排序是否成功

c语言源代码大全?C语言开发软件

void up(void);//数字向上移动到空位(空位则下移)

void down(void);//数字向下移

void left(void);//数字向左移

void rght(void);//数字向右移

void inkey(void);//按键操作

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

int main(void)

{ while(1)

{csh();

while(1)

{ inkey();

show();

if( yes())

{gtxy(6,12); printf("你成功了!再来一局y/n?"); break;}

}

if(getch()==ʹnʹ)break;

}

return 0;

}

void csh(void)

{r=0;

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

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);

for(i=0;i<4;i++)//给数组a依序赋值

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

{ if(i==3&& j==3) a[i][j]=0;

else a[i][j]=1+r++;

}

a[3][3]=a[1][1]; a[1][1]=0;//把a[3][3]与a[1][1]的值交换一下

m=1; n=1;

srand((unsigned)time(0));//初始化随机数发生器

for(r=0;r<500;r++)//将数组各值打乱

{k=rand()%(4);//取0-3随机数,分别代表上下左右四个方向

switch(k)

{ case 0:{ up();break;}

case 1:{down();break;}

case 2:{left();break;}

case 3:{rght(); break;}

}

}

printf("

\t\t数字拼图");

printf("

\t┌──────┬──────┬──────┬──────┐");

printf("

\t│││││");

printf("

\t├──────┼──────┼──────┼──────┤");

printf("

\t│││││");

printf("

\t├──────┼──────┼──────┼──────┤");

printf("

\t│││││");

printf("

\t├──────┼──────┼──────┼──────┤");

printf("

\t│││││");

printf("

\t└──────┴──────┴──────┴──────┘");

show();

}

void show(void)

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

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

{gtxy(7*j+9,2*i+4); if(a[i][j]==0)printf("│");

else if(a[i][j]>9)printf("%d│",a[i][j]);

else printf("%d│",a[i][j]);

}

}

void inkey(void)

{ int key;

key=getch();

switch(key)

{ case 72:{ up(); break;}

case 80:{down(); break;}

case 75:{left(); break;}

case 77:{rght();break;}

}

}

void up(void)

{ if(m!=3)//移动时要考虑空位"0"是否已经在边界

{ a[m][n]=a[m+1][n]; m++; a[m][n]=0;}

}

void down(void)

{ if(m!=0)

{a[m][n]=a[m-1][n]; m--; a[m][n]=0;}

}

void left(void)

{ if(n!=3)

{ a[m][n]=a[m][n+1]; n++; a[m][n]=0;}

}

void rght(void)

{ if(n!=0)

{ a[m][n]=a[m][n-1]; n--; a[m][n]=0;}

}

int yes(void)

{ r=0;

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

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

{ if(a[i][j]!=1+r++) return(r==16)?1:0;}

}

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

{ COORD coord;

coord.X= x;

coord.Y= y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);

}

C语言源代码分析(越易懂越好,我只是一个初学者)

printf“”里的是原样输出的东西,但是你的y是未知的,是你程序运行到这一步才可以得到的,你没有办法写到“”里,所以你用%d代替,%d不会原样输出,它代表整数,而你的y的数值就是%d的数值,就是当printf里有%d的时候程序知道它的数值是“”,后跟的那个数,也就是这个程序里的y,比如printf(“%d%d%d”,a,b,c);第一个%d输出的是a的值,第二个%d输出的是b的值,第三个就是c的值了,如果是%c就是字符的意思,%f就是浮点型的数

c语言源代码文件格式是什么

C语言源文件后缀名是.c,编译生成的文件后缀名是.obj,连接后可执行文件的后缀名是.exe。

源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变。

扩展资料

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大。

依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

ai绘图网页版?ai作图网页版有哪个可以用fread fwrite fread只能读取二进制文件吗