女孩子可以学习网络编程吗?我我觉得女儿我觉得女孩子学网络编程挺好的很多人我觉得女孩子学网络编程挺好的很多人都特我觉得女孩子学网络编程挺好的很多人都特别喜欢无论男孩
用C/C++编写
用C语言编写一个简单程序,有哪些步骤,可以举一个例子详细讲解下吗?
//以Helloworld示例 //先使用编辑工具如windows的记事本或vc++环境,或linux的vim编辑器创建一个hello.c文件 //打开文件后,如下 步骤写程序 #include用C/C++编写
#include用C语言编写程序?
程序就是读取文件到数组,再将数组进行排序,最后写入文件。
读写文件流程:fopen获取文件流(根据读写需求,选择参数,使用完必须调用fclose函数关闭),fscanf读取文件内容,fseek控制文件流指针,fprintf写入文件。
选择排序:每个循环周期选出一个最值,交换一次。
下面是代码(数组为动态数组):
#include
#include
int maxLen;//数组长度
int *read2Nums(char path[]);//读取
int write2File(int *nums,char path[]);//写入
void showNums(int *nums);
int px(int *nums,int flag);//选择排序flag=1升序,flag=0降序
int main()
{
int *nums=NULL;
char rPath[]="c:\\000.dat",wPath[]="c:\\rank.dat";
if(!(nums=read2Nums(rPath))) return 1;
showNums(nums);
printf("数组升序排列:\n");
if(px(nums,1)==-1) return 1;
showNums(nums);
printf("数组降序排列:\n");
if(px(nums,0)==-1) return 1;
showNums(nums);
printf("写入到文件路径%s下(存在覆盖,不存在新建)\n",wPath);
if(write2File(nums,wPath)==-1) return 1;
printf("写入成功!\n");
return 0;
}
void showNums(int *nums)
{
int i;
if(nums) for(i=0,printf("文件内容:\n");i
printf("\n");
}
int px(int *nums,int flag)
{
int i,j,n,temp;
if(!nums) return -1;
for(i=0;i
{
n=i;
for(j=i+1;j
{
if(flag && nums[n]>nums[j]) n=j;
if(!flag && nums[n]
}
temp=nums[i],nums[i]=nums[n],nums[n]=temp;
}
return 1;
}
int write2File(int *nums,char path[])
{
int i;
FILE *fp=NULL;
if(!nums) return -1;
if(!(fp=fopen(path,"w"))) return -1;
//fseek(fp,SEEK_END);
for(i=0;i
fprintf(fp,"%d ",nums[i]);
fclose(fp);
return 1;
}
int *read2Nums(char path[])
{
int *nums=NULL,*temp=NULL,cnt=0;
FILE *fp=NULL;
maxLen=10;
if(!(fp=fopen(path,"r"))) return NULL;
nums=(int *)malloc(sizeof(int)*maxLen);
if(!nums) return NULL;
while(fscanf(fp,"%d",&nums[cnt++])!=-1)
if(cnt==maxLen)//数组长度不够扩展(每次扩展10长度)
{
maxLen=maxLen+10;
temp=(int *)realloc(nums,sizeof(int)*maxLen);
if(temp) return NULL;
nums=temp;
}
if(--cnt
{
maxLen=cnt;
temp=(int *)realloc(nums,sizeof(int)*maxLen);
if(!temp) return NULL;
nums=temp;
}
fclose(fp);
return nums;
}
怎样用C语言编写一个小游戏?
“贪吃蛇”C代码:
#include
#include
#include
#include
#include
#define W 78 //游戏框的宽,x轴
#define H 26 //游戏框的高,y轴
int dir=3; //方向变量,初值3表示向“左”
int Flag=0; //吃了食物的标志(1是0否)
int score=0; //玩家得分
struct food{ int x; //食物的x坐标
int y; //食物的y坐标
}fod; //结构体fod有2个成员
struct snake{ int len; //身长
int speed; //速度
int x[100];
int y[100];
}snk; //结构体snk有4个成员
void gtxy( int x,int y) //控制光标移动的函数
{ COORD coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
void gtxy( int x,int y); //以下声明要用到的几个自编函数
void csh( ); //初始化界面
void keymove( ); //按键操作移动蛇
void putFod( ); //投放食物
int Over( ); //游戏结束(1是0否)
void setColor(unsigned short p, unsigned short q); //设定显示颜色
int main( ) //主函数
{ csh( );
while(1)
{ Sleep(snk.speed);
keymove( );
putFod( );
if(Over( ))
{system(“cls”);
gtxy(W/2+1,H/2); printf(“游戏结束!T__T”);
gtxy(W/2+1,H/2+2); printf(“玩家总分:%d分”,score);
getch( );
break;
}
}
return 0;
}
void csh( ) //初始化界面
{ int i;
gtxy(0,0);
CONSOLE_CURSOR_INFO cursor_info={1,0}; //以下两行是隐藏光标的设置
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
for(i=0;i<=W;i=i+2) //横坐标要为偶数,因为这个要打印的字符占2个位置
{ setColor(2, 0); //设定打印颜色为绿字黑底
gtxy(i,0); printf("■"); //打印上边框
gtxy(i,H); printf("■"); //打印下边框
}
for(i=1;i
{ gtxy(0,i); printf("■"); //打印左边框
gtxy(W,i); printf("■"); //打印右边框
}
while(1)
{ srand((unsigned)time(NULL)); //初始化随机数发生器srand( )
fod.x=rand()%(W-4)+2; //随机函数rand( )产生一个从0到比”(W-4)”小1的数再加2
fod.y=rand()%(H-2)+1; //随机函数rand( )产生一个从0到比”(H-2)”小1的数再加1
if (fod.x%2==0) break; //fod.x是食物的横坐标,要是2的倍数(为偶数)
}
setColor(12, 0); //设定打印颜色为淡红字黑底
gtxy(fod.x,fod.y); printf("●"); //到食物坐标处打印初试食物
snk.len=3; //蛇身长
snk.speed=350; //刷新蛇的时间,即是移动速度
snk.x[0]=W/2+1; //蛇头横坐标要为偶数(因为W/2=39)
snk.y[0]=H/2; //蛇头纵坐标
setColor(9, 0); //设定打印颜色为淡蓝字黑底
gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头
for(i=1;i
{ snk.x[i]=snk.x[i-1]+2; snk.y[i]=snk.y[i-1];
gtxy(snk.x[i],snk.y[i]); printf("■"); //打印蛇身
}
setColor(7, 0); //恢复默认的白字黑底
return;
}
void keymove( ) //按键操作移动蛇
{ int key;
if( kbhit( ) ) //如有按键输入才执行下面操作
{ key=getch( );
if (key==224) //值为224表示按下了方向键,下面要再次获取键值
{ key=getch( );
if(key==72&&dir!=2)dir=1; //72表示按下了向上方向键
if(key==80&&dir!=1)dir=2; //80为向下
if(key==75&&dir!=4)dir=3; //75为向左
if(key==77&&dir!=3)dir=4; //77为向右
}
if (key==32)
{ while(1) if((key=getch( ))==32) break; } //32为空格键,这儿用来暂停
}
if (Flag==0) //如没吃食物,才执行下面操作擦掉蛇尾
{ gtxy(snk.x[snk.len-1],snk.y[snk.len-1]); printf(" "); }
int i;
for (i = snk.len - 1; i > 0; i--) //从蛇尾起每节存储前一节坐标值(蛇头除外)
{ snk.x[i]=snk.x[i-1]; snk.y[i]=snk.y[i-1]; }
switch (dir) //判断蛇头该往哪个方向移动,并获取最新坐标值
{ case 1: snk.y[0]--; break; //dir=1要向上移动
case 2: snk.y[0]++; break; //dir=2要向下移动
case 3: snk.x[0]-=2; break; //dir=3要向左移动
case 4: snk.x[0]+=2; break; //dir=4要向右移动
}
setColor(9, 0);
gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头
if (snk.x[0] == fod.x && snk.y[0] == fod.y) //如吃到食物则执行以下操作
{ printf("\007"); snk.len++; score += 100; snk.speed -= 5; Flag = 1; } //007是响铃
else Flag = 0; //没吃到食物Flag的值为0
if(snk.speed<150) snk.speed= snk.speed+5; //作弊码,不让速度无限加快
}
void putFod( ) //投放食物
{ if (Flag == 1) //如吃到食物才执行以下操作,生成另一个食物
{ while (1)
{ int i,n= 1;
srand((unsigned)time(NULL)); //初始化随机数发生器srand( )
fod.x = rand( ) % (W - 4) + 2; //产生在游戏框范围内的一个x坐标值
fod.y = rand( ) % (H - 2) + 1; //产生在游戏框范围内的一个y坐标值
for (i = 0; i < snk.len; i++) //随机生成的食物不能在蛇的身体上
{ if (fod.x == snk.x[i] &&fod.y == snk.y[i]) { n= 0; break;} }
if (n && fod.x % 2 == 0) break; //n不为0且横坐标为偶数,则食物坐标取值成功
}
setColor(12, 0);
gtxy(fod.x, fod.y); printf("●"); //光标到取得的坐标处打印食物
}
return;
}
int Over( ) //判断游戏是否结束的函数
{ int i;
setColor(7, 0);
gtxy(2,H+1); printf(“暂停键:space.”); //以下打印一些其它信息
gtxy(2,H+2); printf(“游戏得分:%d”,score);
if (snk.x[0] == 0 || snk.x[0] == W) return 1; //蛇头触碰左右边界
if (snk.y[0] == 0 || snk.y[0] == H) return 1; //蛇头触碰上下边界
for (i = 1; i < snk.len; i++)
{ if (snk.x[0] == snk.x[i] && snk.y[0] == snk.y[i]) return 1; } //蛇头触碰自身
return 0; //没碰到边界及自身时就返回0
}
void setColor(unsigned short ForeColor = 7, unsigned short BackGroundColor = 0)
{ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute( handle, ForeColor + BackGroundColor * 0x10 );
} //用来设定颜色的函数
用C/C++编写一个文件路径
c从完整路径分离 路径名,文件名,扩展名 void splitname(const char *szfullfilename, char *szpathname, char *szfilename, char *szextname); szfullfilename:完整文件名 szpathname:以 \ 结尾的路径名 szfilename:文件名 szextname:扩展名 #include "stdio.h" #include "conio.h" void splitname(const char *szfullfilename, char *szpathname, char *szfil相关文章
- 详细阅读
-
请问有谁知道云南机场集团的信息技详细阅读
请问昆明长水机场信息技术员招聘笔试内容考什么?面试又涉及哪些内容呢笔试全是选择题,公共基础(跟事业单位考得差不多)50个单选,专业知识:80个单选,涉及计算机基础,计算机网络,操作系
-
goc编程教你如何画幸运大转盘详细阅读
幸运大转盘怎么制作?需要工具材料:纸板、颜料、指尖陀螺1、首先把纸板剪出一个圆形。2、接着画出相等分的圆弧。3、接着在上色。4、在粘上奖品名称。5、接着在做一个指针。6、
-
(c++编程)蒜头君又来统计一个字符详细阅读
c语言中怎样统计字符串中包含英文字母的个数?c语言中要统计字符串中包含英文字母的个数可以参考以下内容:main(){char str[100],*p;int num[4],i;p=str;gets(str);for(i=0;i
-
新代系统数控车?这个外圆弧跟内弧详细阅读
圆弧在数控车床上怎么编程?圆弧插补指令G02/G03 圆弧插补指令命令刀具在指定平面内按给定的F进给速度作圆弧运动,切削出圆弧轮廓。 (一)圆弧顺逆的判断 圆弧插补指令分为顺时针
-
图形化编程怎么载入角色的造型详细阅读
在scratch软件中,怎么设置a角色碰到了b角色的某个造型假如a角色是小马,b是小老虎,首先我们先看看小老虎的代码,在两个碰到了以后,将当前造型编号放到变量当中然后看小马这边就可
-
花钟的A6信息技术的作用详细阅读
信息技术的作用信息技术的作用主要体现在以下几个方面: (1)推动经济的增长。在生产领域推广信息技术,可以改善劳动条件,扩大生产能力, 提高产品质量,增加经济效益。信息技术的发展,
-
南海信息技术学院狮山校区的电话。详细阅读
南海信息技术学校狮山校区的咨询电话?Tel:0757-85588786/85588710(大沥教务处) 86685603(狮山教务处)佛山的高中技校有哪几间?国家重点.. 一.佛山高级技工学校咯 有四个校区...
-
八年级上册信息技术 书本上的题详细阅读
八年级上册信息技术复习提纲2009学年海珠区八年级上学期信息技术期末测试题 学校: 班别: 姓名: 学号: 成绩: 1课时完成 一、选择题(每题2.5分,共50分) 1. 对于计算机网络,以下说法正
-
windows10编程打开还是原来界面怎详细阅读
我的win10开始界面编程这样了,求大神告知怎么修改回正常的样子您可以打开开始菜单,点击“设置”,在弹出的页面中点击“个性化”,选择“开始”选项卡,将“使用全屏幕开始菜单”项