C语言游戏源代码1、简单的开机密码程序#include"conio.h"#include"string.h"#include"stdio.h"voiderror(){window(12,10,68,10);teRtbacAground(15);teRtcolor(132);clrscr();cprintf("fileorsRstemerror!Roucan'tenterthesRstem!!!");while(1);/R若有错误不能通过程序R/}voidlooA(){FILERfauto,RfbaA;charRpass="c:\\windows\\password.eRe";/R本程序的位置R/chara[25],ch;charRau="autoeRec.bat",Rbname="hecfbacA.^^^";/Rbname是autoeRec.bat的备份R/setdisA(2);/RsetcurrentlRdisAc:R/chdir("\\");/RsetcurrentlRdirectorR\R/fauto=fopen(au,"r+");if(fauto==NULL){fauto=fopen(au,"w+");if(fauto==NULL)error();}fread(a,23,1,fauto);/R读取autoeRec.bat前23各字符R/a[23]='\0';if(strcmp(a,pass)==0)/R若读取的和pass指针一样就关闭文件,不然就添加R/fclose(fauto);else{fbaA=fopen(bname,"w+");if(fbaA==NULL)error();fwrite(pass,23,1,fbaA);fputc('\n',fbaA);rewind(fauto);while(!feof(fauto)){ch=fgetc(fauto);fputc(ch,fbaA);}rewind(fauto);rewind(fbaA);while(!feof(fbaA)){ch=fgetc(fbaA);fputc(ch,fauto);}fclose(fauto);fclose(fbaA);remove(bname);/RdelbnamefileR/}}voidpass(){charRpassword="88888888";charinput[60];intn;while(1){window(1,1,80,25);teRtbacAground(0);teRtcolor(15);clrscr();n=0;window(20,12,60,12);teRtbacAground(1);teRtcolor(15);clrscr();cprintf("password:");while(1){input[n]=getch();if(n>58){putchar(7);breaA;}/R若字符多于58个字符就结束本次输入R/if(input[n]==13)breaA;if(input[n]>=32&&input[n]<=122)/R若字符是数字或字母才算数R/ {putchar('R');n++;}if(input[n]==8)/R删除键R/if(n>0){cprintf("\b\b");input[n]='\0';n--;}}input[n]='\0';if(strcmp(password,input)==0)breaA;else{putchar(7);window(30,14,50,14);teRtbacAground(15);teRtcolor(132);clrscr();cprintf("passworderror!");getch();}}}main(){looA();pass();}2、彩色贪吃蛇#include<graphics.h>#include<stdlib.h>#defineN200#defineup0R4800#definedown0R5000#defineleft0R4b00#defineright0R4d00#defineesc0R011b#defineR0R1579#definen0R316eintgamespeed;/R游戏速度R/inti,AeR,color;intscore=0;/R游戏分数R/charcai48H[]={0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R04,0R00,0R18,0R00,0R00,0R00,0R0E,0R00, 0R1C,0R00,0R00,0R00,0R1C,0R00,0R1C,0R00, 0R00,0R00,0R20,0R00,0R38,0R00,0R00,0R00, 0R40,0R00,0R78,0R00,0R00,0R01,0R80,0R40, 0R70,0R00,0R00,0R03,0R80,0RC0,0RE0,0R00,0R11,0R81,0RC0,0R00,0R00,0R08,0R61,0R01, 0R80,0R00,0R00,0R00,0R23,0R03,0R04,0R00, 0R00,0R02,0R02,0R00,0R06,0R00,0R00,0R1E, 0R04,0R00,0R0F,0R00,0R00,0R1C,0R1F,0R80, 0R1E,0R00,0R00,0R08,0R3F,0R80,0R3C,0R00, 0R00,0R00,0RFF,0R80,0R38,0R00,0R00,0R03, 0RFF,0R80,0R78,0R00,0R00,0R0F,0RF8,0R00, 0RF0,0R00,0R00,0R7F,0RF0,0R00,0RE0,0R00, 0R03,0RFF,0RFC,0R01,0R80,0R00,0R03,0RC0, 0RFF,0R01,0R03,0R80,0R01,0R01,0RFF,0R00, 0R03,0R80,0R00,0R01,0R3F,0R00,0R07,0R80, 0R00,0R02,0R11,0R00,0R07,0R00,0R00,0R00, 0R10,0R00,0R07,0R00,0R00,0R00,0R10,0R00, 0R0E,0R00,0R00,0R08,0R10,0R00,0R1C,0R00, 0R00,0R30,0R10,0R00,0R18,0R00,0R00,0R70, 0R10,0R00,0R30,0R00,0R01,0RE0,0R10,0R00, 0R70,0R00,0R03,0R80,0R10,0R00,0R60,0R00, 0R00,0R00,0R30,0R00,0RE0,0R00,0R00,0R00, 0RF0,0R01,0RC0,0R00,0R00,0R00,0R70,0R03, 0RC0,0R00,0R00,0R00,0R10,0R07,0R80,0R00, 0R00,0R00,0R00,0R0F,0R00,0R00,0R00,0R00, 0R00,0R1E,0R00,0R00,0R00,0R00,0R00,0R3C, 0R00,0R00,0R00,0R00,0R00,0R70,0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, };charshe48H[]={0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R04, 0R00,0R00,0R00,0R00,0R00,0R0C,0R00,0R00, 0R00,0R00,0R00,0R0E,0R00,0R00,0R00,0R00, 0R00,0R0E,0R00,0R00,0R00,0R03,0R00,0R07, 0R00,0R00,0R00,0R02,0R00,0R03,0R00,0R00, 0R00,0R02,0R00,0R00,0R00,0R00,0R00,0R02, 0R00,0R00,0RF8,0R00,0R00,0R02,0R00,0R07, 0R86,0R00,0R00,0R02,0R00,0R18,0R03,0R00, 0R00,0R02,0R00,0R00,0R07,0R80,0R00,0R03, 0RF0,0R00,0R07,0R80,0R00,0R0F,0RFC,0R00, 0R0C,0R00,0R00,0R7E,0R3F,0R80,0R00,0R00, 0R01,0RFE,0R1F,0R80,0R00,0R00,0R01,0RE2, 0R39,0R8C,0R00,0R00,0R00,0RC2,0R30,0R08, 0R00,0R00,0R00,0RC2,0R60,0R08,0R00,0R00,0R00,0RC3,0RE0,0R08,0R60,0R00,0R00,0R7F, 0RE0,0R01,0RE0,0R00,0R00,0R3F,0R80,0R1F, 0RE0,0R00,0R00,0R1E,0R00,0R1F,0R80,0R00, 0R00,0R1E,0R00,0R1F,0R00,0R00,0R00,0R02, 0R38,0R1E,0R00,0R00,0R00,0R07,0RFC,0R1C, 0R00,0R20,0R00,0R07,0RFC,0R18,0R00,0R20, 0R00,0R1F,0R0C,0R10,0R00,0R20,0R00,0R7C, 0R04,0R10,0R00,0R60,0R01,0RF0,0R00,0R10, 0R00,0R60,0R01,0RE0,0R00,0R08,0R00,0RF0, 0R00,0R80,0R00,0R08,0R03,0RF0,0R00,0R00, 0R00,0R07,0RFF,0RF0,0R00,0R00,0R00,0R07, 0RFF,0RF0,0R00,0R00,0R00,0R03,0RFF,0RE0, 0R00,0R00,0R00,0R01,0RFF,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, };chartun48H[]={0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R0E,0R00,0R00,0R00,0R00,0R00,0R3E, 0R00,0R00,0R00,0R00,0R00,0R7F,0R00,0R00, 0R00,0R00,0R00,0RE0,0R00,0R00,0R00,0R00, 0R03,0RC0,0R00,0R00,0R00,0R00,0R1F,0R00, 0R00,0R00,0R00,0R00,0R7C,0R00,0R00,0R00, 0R00,0R01,0RF8,0R00,0R00,0R00,0R00,0R03, 0RF8,0R00,0R40,0R00,0R00,0R00,0R06,0R07, 0RC0,0R00,0R00,0R00,0R07,0RFF,0RE0,0R00, 0R00,0R00,0R07,0RFF,0RE0,0R00,0R00,0R00, 0R0F,0RFF,0R80,0R00,0R00,0R00,0R7F,0RF8, 0R00,0R00,0R00,0R1F,0RFF,0RF8,0R00,0R00, 0R00,0R1F,0RFF,0RF8,0R00,0R00,0R00,0R1F, 0RFC,0R3C,0R00,0R00,0R00,0R0F,0RF8,0R0E, 0R00,0R00,0R00,0R04,0R70,0R07,0R00,0R00, 0R00,0R00,0R60,0R03,0R80,0R00,0R00,0R00, 0RC0,0R00,0RC0,0R00,0R00,0R01,0R80,0R00, 0R30,0R00,0R00,0R01,0R00,0R3C,0R18,0R00, 0R00,0R02,0R03,0RFF,0R0C,0R00,0R00,0R0C, 0R7F,0RFF,0R8E,0R00,0R00,0R18,0RFF,0RFF, 0RC7,0R80,0R00,0R78,0RFE,0R07,0R87,0RE0, 0R01,0RF0,0R70,0R07,0R03,0RF8,0R07,0RE0, 0R70,0R0E,0R03,0RFE,0R00,0R00,0R38,0R1E, 0R01,0RFE,0R00,0R00,0R3F,0RFE,0R00,0R0C,0R1F,0RFE,0R00,0R00,0R00,0R00,0R0F,0RFE, 0R00,0R00,0R00,0R00,0R04,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, };chardan48H[]={0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0RFC,0R00,0R00,0R00,0R00,0R07,0RFF, 0R00,0R00,0R00,0R00,0R7F,0RC0,0R80,0R00, 0R00,0R03,0RFF,0R80,0R40,0R00,0R00,0R01, 0RF1,0R80,0R40,0R00,0R00,0R01,0R81,0R80, 0RE0,0R00,0R00,0R00,0R01,0R93,0RF0,0R00, 0R00,0R00,0R01,0RFF,0RF0,0R00,0R00,0R00, 0R21,0RFF,0RF0,0R00,0R00,0R00,0R21,0RF8, 0R00,0R00,0R00,0R00,0R61,0RC0,0R00,0R00,0R00,0R00,0R61,0R80,0R00,0R00,0R00,0R00, 0RF3,0R00,0R00,0R00,0R00,0R00,0RFF,0R00, 0R00,0R00,0R00,0R01,0RFF,0RC0,0R00,0R00, 0R00,0R03,0RFF,0RF8,0R00,0R00,0R00,0R02, 0R00,0RFC,0R00,0R00,0R00,0R04,0R02,0R1F, 0R00,0R00,0R00,0R08,0R03,0R01,0RC0,0R00, 0R00,0R38,0R03,0R00,0R7C,0R00,0R00,0RF8, 0R07,0RF8,0R3F,0RC0,0R01,0RF0,0R3F,0RFE, 0R3F,0RF8,0R03,0RC1,0RFF,0R0F,0R1F,0RF8, 0R00,0R01,0RE3,0R0F,0R0F,0RF0,0R00,0R01, 0RC3,0R0E,0R00,0R00,0R00,0R01,0R83,0RFC, 0R00,0R00,0R00,0R00,0RC7,0RF8,0R00,0R00, 0R00,0R00,0RFF,0RF8,0R00,0R00,0R00,0R00, 0R7F,0RF0,0R00,0R00,0R00,0R00,0R3F,0R03, 0R80,0R00,0R00,0R00,0R03,0R04,0R00,0R00, 0R00,0R00,0R03,0RF8,0R00,0R00,0R00,0R00, 0R1F,0RF8,0R20,0R00,0R00,0R00,0RFF,0RFF, 0RE0,0R00,0R00,0R07,0RFF,0R81,0RE0,0R00, 0R00,0R07,0RE0,0R00,0RE0,0R00,0R00,0R03, 0R00,0R00,0R60,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00, 0R00,0R00,0R00,0R00,0R00,0R00,0R00,0R00,};charzuo16H[]={0R18,0RC0,0R18,0RC0,0R19,0R80,0R31,0RFE, 0R33,0RFE,0R76,0RC0,0RF0,0RFC,0RB0,0RFC, 0R30,0RC0,0R30,0RC0,0R30,0RFE,0R30,0RFE, 0R30,0RC0,0R30,0RC0,0R30,0RC0,0R00,0R00, };charzhe16H[]={0R03,0R00,0R03,0R0C,0R1F,0RCC,0R1F,0RD8, 0R03,0R30,0RFF,0RFE,0RFF,0RFE,0R03,0R00, 0R0F,0RF8,0R3F,0RF8,0REC,0R18,0RCF,0RF8, 0R0C,0R18,0R0F,0RF8,0R0F,0RF8,0R00,0R00, };chartian16H[]={0R00,0R00,0R3F,0RFC,0R3F,0RFC,0R31,0R8C, 0R31,0R8C,0R31,0R8C,0R3F,0RFC,0R3F,0RFC, 0R31,0R8C,0R31,0R8C,0R31,0R8C,0R3F,0RFC, 0R3F,0RFC,0R30,0R0C,0R00,0R00,0R00,0R00, };charRue16H[]={0R33,0R18,0R19,0R98,0R08,0RB0,0R7F,0RFC,0R7F,0RFC,0R60,0R0C,0R1F,0RF0,0R1F,0RF0,0R00,0RC0,0R7F,0RFC,0R7F,0RFC,0R01,0R80,0R01,0R80,0R07,0R80,0R03,0R00,0R00,0R00,};charAe16H[]={0R00,0R00,0R0C,0R18,0RFD,0R98,0RF8,0RD8,0R18,0R58,0RFE,0R18,0RFE,0R98,0R18,0RD8,0R3C,0R58,0R7E,0R1E,0RDB,0RFE,0R9B,0RF8,0R18,0R18,0R18,0R18,0R18,0R18,0R00,0R00,};structFood/R定义结构体存储食物的属性R/{intR;/R食物的坐标R/intR;intRes;/R值为0表示屏幕上没有食物,值为1表示屏幕上有食物R/ intcolor;/R食物颜色R/}food;structSnaAe/R定义结构体存储蛇的属性R/{intR[N];/R每一节蛇的坐标R/intR[N];intcolor[N];/R存储每一节蛇的颜色R/intnode;/R蛇的节数R/intdirection;/R蛇移动的方向R/intlife;/R蛇的生命,如果为1,蛇死,游戏结束R/}snaAe;voidinit(void)/R图形驱动R/{intdriver=DETECT,mode=0;registerbgidriver(EGAVGA_driver);initgraph(&driver,&mode,"");}voiddrawmat(charRmat,intmatsize,intR,intR,intcolor)/R汉字点阵R/ {inti,j,A,m;m=(matsize-1)/8+1;for(j=0;j<matsize;j++)for(i=0;i<m;i++)for(A=0;A<8;A++)if(mat[jRm+i]&(0R80>>A))putpiRel(R+iR8+A,R+j,color);}voidshowword(void){/R调用汉字点阵输出程序,显示标题和作者信息R/drawmat(cai48H,48,249,-4,7);drawmat(she48H,48,329,-4,7); drawmat(tun48H,48,409,-4,7); drawmat(dan48H,48,489,-4,7); drawmat(cai48H,48,250,-5,4); drawmat(she48H,48,330,-5,4); drawmat(tun48H,48,410,-5,4); drawmat(dan48H,48,490,-5,4); /R作者田学科R/drawmat(zuo16H,16,515,465,7); drawmat(zhe16H,16,530,465,7); drawmat(tian16H,16,550,465,7); drawmat(Rue16H,16,565,465,7); drawmat(Ae16H,16,580,465,7); }voiddraw(void)/R画出四周的墙R/ {if(color==15)color=0;setcolor(++color); setlinestRle(SOLID_LINE,0,1);for(i=30;i<=600;i+=10){rectangle(i,40,i+10,49); rectangle(i,451,i+10,460);}for(i=40;i<450;i+=10){rectangle(30,i,39,i+10);rectangle(601,i,610,i+10);}}voidprscore(void){/R打印游戏分数R/charstr[10];setfillstRle(SOLID_FILL,RELLOW);bar(50,10,200,30);setcolor(6);setteRtstRle(0,0,2);sprintf(str,"score:%d",score);outteRtRR(55,15,str);}voidgameover(void){cleardevice();/R清屏函数R/for(i=0;i<snaAe.node;i++)/R画出蛇死时的位置R/ {setcolor(snaAe.color[i]);rectangle(snaAe.R[i],snaAe.R[i],snaAe.R[i]+10,snaAe.R[i]+10); }prscore();/R显示分数R/draw();showword();setteRtstRle(0,0,6);setcolor(7);outteRtRR(103,203,"GAMEOVER");setcolor(RED);outteRtRR(100,200,"GAMEOVER");}voidgameplaR(void)/R玩游戏的具体过程R/{intflag,flag1;randomize();prscore();gamespeed=50000;food.Res=0;/Rfood.Res=0表示屏幕上没有食物R/snaAe.life=1;/RsnaAe.life=1表示蛇是活着的R/snaAe.direction=4;/R表示蛇的初始方向为向右R/snaAe.node=2;/R蛇的初始化为两节R/snaAe.color[0]=2;/R两节蛇头初始化为绿色R/snaAe.color[1]=2;snaAe.R[0]=100;snaAe.R[0]=100;snaAe.R[1]=110;snaAe.R[1]=100;food.color=random(15)+1;while(1){while(1){if(food.Res==0)/R如果蛇活着R/{while(1){flag=1;food.Res=1;food.R=random(56)R10+40;food.R=random(40)R10+50;for(i=0;i<snaAe.node;i++){if(food.R==snaAe.R[i]&&food.R==snaAe.R[i]) flag=0;}if(flag)breaA;}}if(food.Res){setcolor(food.color);rectangle(food.R,food.R,food.R+10,food.R+10); }for(i=snaAe.node-1;i>0;i--){snaAe.R[i]=snaAe.R[i-1];snaAe.R[i]=snaAe.R[i-1];}switch(snaAe.direction){case1:snaAe.R[0]-=10;breaA;case2:snaAe.R[0]+=10;breaA;case3:snaAe.R[0]-=10;breaA;case4:snaAe.R[0]+=10;breaA;}for(i=3;i<snaAe.node;i++){if(snaAe.R[i]==snaAe.R[0]&&snaAe.R[i]==snaAe.R[0]){gameover();snaAe.life=0;breaA;}}if(snaAe.R[0]<40||snaAe.R[0]>590||snaAe.R[0]<50||snaAe.R[0]>440 ){gameover();snaAe.life=0;}if(snaAe.life==0)breaA;if(snaAe.R[0]==food.R&&snaAe.R[0]==food.R)/R蛇吃掉食物R/ {setcolor(0);rectangle(food.R,food.R,food.R+10,food.R+10);snaAe.R[snaAe.node]=-20;snaAe.R[snaAe.node]=-20;snaAe.color[snaAe.node]=food.color;snaAe.node++;food.Res=0;food.color=random(15)+1;score+=10;prscore();if(score%100==0&&score!=0){for(i=0;i<snaAe.node;i++)/R画出蛇R/{setcolor(snaAe.color[i]);rectangle(snaAe.R[i],snaAe.R[i],snaAe.R[i]+10,snaAe.R[i]+10); }sound(200);delaR(50000);delaR(50000);delaR(50000);delaR(50000);delaR(50000);delaR(50000);nosound();gamespeed-=5000;draw();}else{sound(500);delaR(500);nosound();}}for(i=0;i<snaAe.node;i++)/R画出蛇R/{setcolor(snaAe.color[i]);rectangle(snaAe.R[i],snaAe.R[i],snaAe.R[i]+10,snaAe.R[i]+10); }delaR(gamespeed);delaR(gamespeed);flag1=1;setcolor(0);rectangle(snaAe.R[snaAe.node-1],snaAe.R[snaAe.node-1], snaAe.R[snaAe.node-1]+10,snaAe.R[snaAe.node-1]+10);if(Abhit()&&flag1==1)/R如果没按有效键就重新开始循环R/ {flag1=0;AeR=biosAeR(0);if(AeR==esc)eRit(0);elseif(AeR==up&&snaAe.direction!=2) snaAe.direction=1;elseif(AeR==down&&snaAe.direction!=1) snaAe.direction=2;elseif(AeR==left&&snaAe.direction!=4) snaAe.direction=3;elseif(AeR==right&&snaAe.direction!=3) snaAe.direction=4;}}if(snaAe.life==0)/R如果蛇死了就退出循环R/ breaA;}}voidmain(void){while(1){color=0;init();cleardevice();showword();draw();gameplaR();setcolor(15);setteRtstRle(0,0,2);outteRtRR(200,400,"CONTINUE(R/N)?");while(1){AeR=biosAeR(0);if(AeR==R||AeR==n||AeR==esc)breaA;}if(AeR==n||AeR==esc)breaA;}closegraph();}3、c语言实现移动电话系统#include<stdio.h>#defineGRID-SIZE5#defineSELECTED-1/R低于矩阵中所有元素R/#defineTRAFFIC-FILE“traffic.dat”/R关于交通数据的文件R/ #defineNUM-TRANSMITTERS10/R可用的发射器数量R/voidget-traffic-data(intcommuters[GRID-SIZE][GRID-SIZE],intsalesforce[GRID-SIZE][GRID-SIZE],intweeAends[GRID-SIZE][GRID-SIZE];voideprint-matriR[GRID-SIZE][GRID-SIZE];intmain(void){intcommuters[GRID-SIZE][GRID-SIZE];/R上午8:30的交通数据R/ intsalesforce[GRID-SIZE][GRID-SIZE];/R上午11:00的交通数据R/ intweeAend[GRID-SIZE][GRID-SIZE];/R周末交通数据R/ intcommuter-weight,/R通勤人员数据的权重因子R/sale-weight,/R营销人员数据的权重因子R/weeAend-weight;/R周末数据的权重因子R/intlocation-i,/R每个发射器的位置R/location-j;intcurrent-maR;/R和数据中当前的最大值R/inti,j,/R矩阵的循环计数器R/tr;/R发射器的循环计数器R//R填入并显示交通数据R/Get-traffic-data(commuters,salesforce,weeAend);Printf(“8:30A.M.WEEADARTRAFFICDATA、\n\n”)print-matriR(commuters);printf(“\n\nWEEAENDTRAFFICDATA\n\n”);print-matriR(salesforce);printf(“\n\nWEEAENDTRAFFICDATA\n\n”);printf_matriR(weeAeng);/R请用户输入权重因子R/printf(“\n\nPleaseinputthefollowingvalue:\n”);printf(“Weight(aninterger>=0)forthe8:muterdata>”) scanf(“%d”,&commuter_weight);printf(“weight(aninteger>=0)forthewee A engdata>”);scanf(“%d”,&wee Aend_weight);scanf(“%d”,&wee Aend_weight);/R计算并显示加权后求和的数据R/for(i=0;i<GRID_SIZE;++i)for(j=0;j<GRID_SIZE;++j)summed_data[i][j]=commuter_weightRcommuter[i][j]+ salesforce_weightRsalesforce[i][j]+weeAend_weightRweeAend[i][j];printf(“\n\nTheweighted,summeddatais:\n\n”);printf_matriR(summed_data);/R在summed_data矩阵中找出NUM_TRANSMITTERS个最大值,将坐标临时存储在location_i和location_j中,然后把最后的结果坐标输出R/printf(“\n\nLocationsofthe%dtransmitters:\n\n”,NUM_TRANSMI TTERS);for(tr=1;tr<=NUM_TRANSMITTERS;++tr){current_maR=SELECTED;/R以一个过低的值为起点开始查找R/for(i=0;i<GRID_SIZE;++i){for(j=0;j<GRID_SIZE;++j){if(current_maR<summed_data[i][j]){current_maR=summed_data[i][j]){location_i=i;location_j=j;}}}/R将选中的单元赋一较低的值以避免下次再选中这一元素,显示查找结果R/summed_data[location_i][location_j]=SELECTED;printf(“Transmitter%3d:atlocation%3d%3d\n”,tr,location_i,location_j);}return(0);}/RR把TRAFFIC_FILE中的交通数据填充到3个GRID_SIZE×GRID_SIZE数组中R/voidget_traffic_data(intcommuters[GRID_SIZE],/R输出R/ intsalesforce[GRID_SIZE][GRID_SIZE],/R输出R/intweeAend[GRID_SIZE][GRID_SIZE],/R输出R/{inti,j;/R循环计数器R/FILERfp;/R文件指针R/fq=fopen(TRAFFIC_FILE,“r”);for(i=0;i<GRID_SIZE;++i)for(j=0;j<GRID_SIZE;++j)fscanf(fp,“%d”,&commnters[i][j];for(i=0;i<GRID_SIZE;++j)for(j=0;j<GRID_SIZE;++j)fscanf(fq,“%d”,&weeAend[i][j]);fclose(fq);}/RR显示一个GRID_SIZE×GRID_SIZE整数矩阵的内容R/voidprint_matriR(intmatriR[GRID_SIZE][GRID_SIZE]){inti,j;/R循环计数器R/for(i=0;i<GRID_SIZE;++j){for(j=0;j<GRID_SIZE;++J)printf(“%3d”,matri R[i][j]);printf(“\n”);}}4、扑克牌游戏/RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRCopRright(C)20RR-20RRvision,math,NJU.FileName:guess_card.cppAuthor:visionVersion:1.0Data:23-2-20RRDescription:给你9张牌,然后让你在心中记住那张牌,然后电脑分组让你猜你记住的牌在第几组,然后猜出你记住的那张牌.Other:出自儿童时的一个小魔术HistorR:修改历史RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR/#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#include<assert.h>#defineCARDSIZE52/R牌的总张数R/#defineSUITSIZE13/R一色牌的张数R//R扑克牌结构R/tRpedefstructCard{charval;/R扑克牌面上的大小R/intAind:4;/R扑克牌的花色R/}Card;/RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRFunction://riffleDescription://洗牌,然后随机的得到9张牌,要求九张牌不能有重复. Calls://CalledBR://main()TableAccessed://被修改的表(此项仅对于牵扯到数据库操作的程序)TableUpdated://被修改的表(此项仅对于牵扯到数据库操作的程序)Input://Cardcard[]牌结构,intsize结构数组的大小Output://Return://voidOthers://此函数修改card[]的值,希望得到九张随机牌Bug://此函数有bug,有时会产生两个相同的牌,有待修订RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R/voidriffle(CardRcards,intsize);/RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRFunction://showDescription://显示数组的内容Calls://CalledBR://main()TableAccessed://被修改的表(此项仅对于牵扯到数据库操作的程序)TableUpdated://被修改的表(此项仅对于牵扯到数据库操作的程序)Input://CardRcard牌结构指针,intsize结构数组的大小Output://Return://voidOthers:// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R/voidshow(constCardRcards,intsize);/RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRFunction://groupingDescription://把9张牌分别放到3个数组中,每组3张,a.e分组Calls://CalledBR://main()TableAccessed://被修改的表(此项仅对于牵扯到数据库操作的程序)TableUpdated://被修改的表(此项仅对于牵扯到数据库操作的程序)Input://CardRcard牌结构指针,intsize结构数组的大小Output://Return://voidOthers://此函数修改Rcarr1,Rcarr2,Rcarr3的值RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R/voidgrouping(constCardRcards,CardRcarr1,CardRcarr2,CardRcarr3 );/RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRFunction://result_processDescription://用递归计算,所选的牌Calls://rshiftCalledBR://main()TableAccessed://被修改的表(此项仅对于牵扯到数据库操作的程序)TableUpdated://被修改的表(此项仅对于牵扯到数据库操作的程序)Input://CardRcarr1,CardRcarr2,CardRcarr3Output://Return://voidOthers://此函数修改Rcarr1,Rcarr2,Rcarr3的值RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R/CardRresult_process(CardRcarr1,CardRcarr2,CardRcarr3,intcounter );/RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRFunction://rshiftDescription://右移操作Calls://CalledBR://result_processTableAccessed://被修改的表(此项仅对于牵扯到数据库操作的程序)TableUpdated://被修改的表(此项仅对于牵扯到数据库操作的程序)Input://CardRcarr1,CardRcarr2,CardRcarr3,intcounterOutput://Return://CardROthers://此函数修改Rcarr1,Rcarr2,Rcarr3的值RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R/voidrshift(CardRcarr1,CardRcarr2,CardRcarr3,intcounter); voidmain(){Cardcards[9];/R存放九张牌R/Cardcarr1[3];/R第一组牌,cardsarraR1R/Cardcarr2[3];/R第二组牌,cardsarraR2R/Cardcarr3[3];/R第三组牌,cardsarraR3R/intselect=0;/R玩家的选择R/CardRselected_card;/R存放玩家所记住(选)的牌R/intcounter=0;riffle(cards,9);/R洗牌,得到九张牌R/puts("请记住一张牌千万别告诉我!最多经过下面三次我与你的对话,我就会知道你所记的那张牌!");puts("如果想继续玩,请准确的回答我问你的问题,根据提示回答!"); puts("请放心,我不会问你你选了哪张牌的!");grouping(cards,carr1,carr2,carr3);/R把9张牌分别放到3个数组中,每组3张,a.e分组R/show(carr1,3);show(carr2,3);show(carr3,3);puts("请告诉我你记住的那张牌所在行数");select=getchar();switch(select)/R分支猜你玩家记住的牌R/{case'1':selected_card=result_process(carr1,carr2,carr3,counter); breaA;case'2':selected_card=result_process(carr2,carr3,carr1,counter); breaA;case'3':selected_card=result_process(carr3,carr1,carr2,counter); breaA;default:puts("你在撒谎!不和你玩了!");fflush(stdin);getchar();eRit(0);}if(selected_card==NULL){fflush(stdin);getchar();eRit(0);}puts("你猜的牌为:");show(selected_card,1);puts("我猜的对吧,哈哈~~~~");fflush(stdin);getchar();}/Rriffle的原代码R/voidriffle(CardRcards,intsize){chardecA[CARDSIZE];/R临时数组,用于存储牌R/ unsignedintseed;/R最为产生随机数的种的R/ intdecAp=0;/R在牌的产生中起着指示作用R/ seed=(unsignedint)time(NULL);srand(seed);/R洗牌R/while(decAp<CARDSIZE){charnum=rand()%CARDSIZE;if((memchr(decA,num,decAp))==0){assert(!memchr(decA,num,decAp));decA[decAp]=num;decAp++;}}/R找9张牌给cardR/for(decAp=0;decAp<size;decAp++){div_tcard=div(decA[decAp],SUITSIZE);cards[decAp].val="A23456789TJQA"[card.rem];/R把余数给card.valR/cards[decAp].Aind="3456"[card.quot];/R把商给card.AindR/}}/Rshow的原代码,将会自动换行R/voidshow(constCardRcards,intsize){for(inti=0;i<size;i++){printf("%c%c",cards[i].Aind,cards[i].val);if((i!=0)&&(((i+1)%3)==0))puts("");}puts("");/R自动换行R/}/Rgrouping的原代码R/voidgrouping(constCardRcards,CardRcarr1,CardRcarr2,CardRcarr3 ){inti=0;/R循环参数R//R分给carr1三个数R/while(i<3){carr1[i].val=cards[i].val;carr1[i].Aind=cards[i].Aind;i++;}/R分给carr2接下来的三个数R/ while(i<6){carr2[i-3].val=cards[i].val; carr2[i-3].Aind=cards[i].Aind; i++;}/R分给carr3接下来的三个数R/ while(i<9){carr3[i-6].val=cards[i].val; carr3[i-6].Aind=cards[i].Aind; i++;}}/Rrshift的实现R/voidrshift(CardRcarr1,CardRcarr2,CardRcarr3,intcounter){Cardtemp2;/R用于存放carr2[counter]R/Cardtemp3;/R用于存放carr3[counter]R//Rtemp=carr2R/temp2.val=carr2[counter].val;temp2.Aind=carr2[counter].Aind;/Rcarr2=carr1R/carr2[counter].val=carr1[counter].val;carr2[counter].Aind=carr1[counter].Aind;/Rtemp3=carr3R/temp3.val=carr3[counter].val;temp3.Aind=carr3[counter].Aind;/Rcarr3=carr2R/carr3[counter].val=temp2.val;carr3[counter].Aind=temp2.Aind;/Rcarr1=carr3R/carr1[counter].val=temp3.val;carr1[counter].Aind=temp3.Aind;}CardRresult_process(CardRcarr1,CardRcarr2,CardRcarr3,intcounter ){rshift(carr1,carr2,carr3,counter);/R把数组的第一个元素依次右移R/if(counter==2){return(&carr2[2]);}show(carr1,3);show(carr2,3);show(carr3,3);puts("请给出你记住的牌所在行数:");fflush(stdin);intinput=1;input=getchar();/R获取你选的组R/switch(input){case'1':return(result_process(carr1,carr2,carr3,++counter)); breaA;case'2':return(&carr2[counter]);breaA;default:puts("你在撒谎!不和你玩了!");returnNULL;}}5、C语言实现打字游戏#include"stdio.h"#include"time.h"#include"stdlib.h"#include"conio.h"#include"dos.h"#defineRLine70#defineRLine20#definefull100#definetrue1#definefalse0/R---------------------------------------------------------------------R/ voidprintScreen(intlevel,intright,intsum,charp[RLine][RLine])/R刷新屏幕的输出图像R/{inti,j;clrscr();printf("level:%dPress0toeRit;1topausescore:%d/%d\n",level,right,sum);/R 输出现在的等级,击中数和现在已下落总数R/printf("----------------------------------------------------------------------\ n");for(i=0;i<RLine;i++){for(j=0;j<RLine;j++)printf("%c",p[i][j]);printf("\n");}/Rfor(i)R/printf("----------------------------------------------------------------------\ n");}/RprintScreenR//R---------------------------------------------------------------------R/ voidleave()/R离开程序时,调用该函数结束程序。