C语言源代码.pdf
剪刀石头布源代码#include main()int d,x;printf(”请输入:1 是剪刀,2 是石头,3 是布);scanf(”%d,d);x=rand()%3;if(d=x)printf(双方平局”);else if((d=1x=2)(d=2&x=3)|(d=3x=1))printf(你赢了”);else printf(电脑赢了”);简单计算器#includestdio。h main()int a,b,d=0;char c;while(d=0)printf(请开始计算,请输入需要运算的数字和运算法则,数字 符号 数字:);scanf(%d%cd”,&a,c,b);switch(c)case+:printf(%d+%d=%dn”,a,b,a+b);break;case-:printf(d-d=%dn”,a,b,ab);break;case*:printf(dd=%dn,a,b,a*b);break;case/:if(0=b)printf(除法被除数不能为零!n”);else printf(”%d/d=dn”,a,b,a/b);break;加油站加油问题#include int main()double a=3。25,b=3.00,c=2。75;double d=0。05,e=0.10,m;int x,y,z;printf(”请输入您要的加油量:”);scanf(d,&x);printf(请输入您要的汽油种类,1a 型汽油售价 3。25 元/千克,2b 型汽油售价 3。00元/千克,3c 型汽油售价 2.75 元/千克:”);scanf(%d”,&y);printf(请输入您要的服务类型,1自己加 服务优惠 0.05,2协助加 服务优惠 0。10:”);scanf(%d”,&z);switch(y)case 1:y=a;break;case 2:y=b;break;case 3:y=c;break;if(z=1)m=(1-d)y x;else if(z=2)m=(1-e)y x;printf(您需要支付:%f 元,谢谢惠顾,欢迎下次再来”,m);return 0;猜数字游戏#includestdio.h includestdlib。h int main()int d=1,e=0;int a,b,t;printf(”请输入 1-10 以内的整数,n);while(d=1)printf(”玩家的选择:);scanf(”d”,a);do if(a=0)&(a11))break;else printf(错误);scanf(”d,&a);while(e=0);b=rand()10+1;printf(npc:%d”,b);t=a-b;if(t=0)printf(nRight!n”);else if(t0)printf(”n Wrong!太小了 n”);else if(t0)printf(n Wrong!太大了 n);return 0;万年历#includestdio。h#includestdlib。h void setmonth(int r);void main(void)int year,month,day,a,b,i,j,d,x,mon,k;do printf(”-n);printf(查全年,输入 1!n);printf(”查月份,输入 2!n);printf(”查日期,输入 3!n);printf(”继续?输入 4!n);printf(”退出,输入 5!n”);printf(-n);printf(请输入:”);scanf(”d,x);if(x=1)month=12;printf(”输入年份:);scanf(d,year);if(x=2)printf(”输入年份:”);scanf(%d,year);printf(输入月份:);scanf(”d”,&month);if(x=3)printf(”输入年份:);scanf(%d”,&year);printf(输入月份:);scanf(”%d,&mon);printf(输入日期:);scanf(%d,day);month=mon-1;if(x=5)exit(100);a=((year1)*365+(year-1)/4(year1)/100+(year-1)/400)7;for(i=1,d=0;i=month;i+)switch(i)case 1:case 3:case 5:case 7:case 8:case 10:case 12:d=31;break;case 2:if(!(year%4)(year%100)!(year%400)d=29;else d=28;break;case 4:case 6:case 9:case 11:d=30;b=a7;a+=d;if(x=1)printf(=n”);setmonth(i);printf(”*n);printf(”=n);printf(”星期一 星期二 星期三 星期四 星期五 星期六 星期天n”);for(j=1;j=b;j+)printf(%8c”,);for(j=1;j=d;j+)printf(%8d”,j);if(j+b)%7=0)printf(n);if(x=1)printf(”n);if(x=2)printf(”=n”);setmonth(i1);printf(*n);printf(”=n”);printf(”星期一 星期二 星期三 星期四 星期五 星期六 星期天n”);for(j=1;j=b;j+)printf(”8c,);for(j=1;j=d;j+)printf(8d”,j);if((j+b)%7=0)printf(”n”);printf(n”);if(x=3)a+=day;a=7;switch(a)case 0:printf(”d。d。d 星期一!,year,mon,day);break;case 1:printf(”%d。d。%d 星期二!”,year,mon,day);break;case 2:printf(%d。%d。%d 星期三!,year,mon,day);break;case 3:printf(%d。%d.d 星期四!,year,mon,day);break;case 4:printf(%d。%d。d 星期五!,year,mon,day);break;case 5:printf(%d。d。d 星期六!”,year,mon,day);break;default:printf(”d.d。%d 星期天!,year,mon,day);printf(n);printf(”是否继续?输入 4 继续,输入 5 退出:);scanf(%d,k);while(k=4);if(k=5)exit(100);void setmonth(int r)switch(r)case 1:printf(%4c 一月份,);break;case 2:printf(”4c 二月份”,);break;case 3:printf(4c 三月份,);break;case 4:printf(%4c 四月份”,);break;case 5:printf(”4c 五月份”,);break;case 6:printf(”%4c 六月份”,);break;case 7:printf(%4c 七月份”,);break;case 8:printf(”4c 八月份”,);break;case 9:printf(”4c 九月份”,);break;case 10:printf(%4c 十月份”,);break;case 11:printf(2c 十一月份,);break;default:printf(”%2c 十二月份,);ATM 机#include define Password 123456 main()int a,i,b,q,c;float m;m=3000。00;for(i=0;i float s3 4;int r=0,c=0;void pjf(void)int i,j,cour=0;for(j=0;j4;j+)for(i=0;i3;i+)cour+=si j;printf(”第d 课的平均分是dn,(j+1),cour/3);cour=0;void dkzg(void)int i,j,high=0;for(j=0;jhigh)high=si j;r=i+1;c=j+1;printf(”最高分是d,学生是%d,课程是%dn,high,r,c);r=0;c=0;high=0;int main()int i,j;float score=0;for(i=0;i3;i+)printf(enter NO。%d scoren,i+1);for(j=0;j4;j+)scanf(f”,sij);score+=sij;printf(第d 个学生的平均分是%fn,(i+1),score/4);score=0;pjf();dkzg();return 0;选票问题 include void main()int i=1;char j;int num4=0,0,0,0;printf(3 位候选人,分别为 A,B,C D 为无效票,开始投票n);while(i#include time.h#include stdlib.h#include include stdio.h/欢迎界面 void welcome()/输出屏幕提示 cleardevice();/清除屏幕内容,用当前背景色清空屏幕,并将当前点移至(0,0)。setcolor(RED);/设置当前绘图前景色为红色,字体颜色为红色 setfont(64,0,”黑体”);/设置当前字体样式为黑体,大小为 64 outtextxy(160,50,”打字母游戏);/在指定位置输出字符串.setcolor(GREEN);/设置当前绘图前景色为绿色,即文字颜色为绿色 setfont(16,0,宋体”);/设置当前字体样式为宋体 outtextxy(200,200,”本游戏是一个简单传统的游戏”);/在指定位置输出字符串。outtextxy(200,240,”就是随机出现些字母然后游戏);/在指定位置输出字符串。outtextxy(200,280,”者敲键盘把它消除用以锻炼游);/在指定位置输出字符串。outtextxy(200,320,”者的反应能力,来试试吧);/在指定位置输出字符串./实现闪烁的按任意键继续 int c=255;while(!kbhit()/没有按键时循环继续 setcolor(RGB(c,0,0));/设置当前绘图前景色为红色色 outtextxy(280,400,按任意键继续);/在指定位置输出字符串 c-=8;/变量 c 的值自减去 8 if(c 0)c=255;Sleep(20);/调用 Sleep()函数延时 20 毫秒 getch();/等待用户从键盘按任意一个键,退出循环 cleardevice();/用当前背景色清空屏幕,并将当前点移至(0,0)。/难度界面 int welcome2()int i;/输出屏幕提示 cleardevice();/清除屏幕内容,用当前背景色清空屏幕,并将当前点移至(0,0)。setcolor(YELLOW);/设置当前绘图前景色为黄色,字体颜色为黄色 setfont(64,0,”黑体”);/设置当前字体样式为黑体,大小为 64 outtextxy(160,50,难度选择);/在指定位置输出字符串。setcolor(GREEN);/设置当前绘图前景色为绿色,即文字颜色为绿色 setfont(16,0,”宋体);/设置当前字体样式为宋体 outtextxy(100,160,”初级”);/在指定位置输出字符串。outtextxy(100,200,中级”);/在指定位置输出字符串。outtextxy(100,240,高级);/在指定位置输出字符串。outtextxy(100,280,终极);/在指定位置输出字符串。outtextxy(100,380,”初级选择 1,中级选择 2,高级选择 3,终极 4,退出 5”);scanf(”%d,&i);return i;/过关界面 void ok()cleardevice();setcolor(YELLOW);setfont(48,0,黑体);outtextxy(104,180,”恭喜过关,再接再厉);getch();/未过界面 void gameover()cleardevice();setcolor(YELLOW);setfont(48,0,”黑体”);outtextxy(104,180,GAME OVER);getch();/退出界面 void goodbye()cleardevice();/用当前背景色清空屏幕,并将当前点移至(0,0)。setcolor(BLUE);/设置当前绘图前景色为蓝色 setfont(48,0,黑体”);/设置输出字符串的字体为黑体,大小为 48 outtextxy(40,180,”其实游戏可以适当玩玩的!”);getch();/等待用户从键盘按任意一个键 /主函数 void main()int a;initgraph(640,480);/初始化屏幕为 640 x480 welcome();/显示欢迎界面 bb:a=welcome2();cleardevice();/清除屏幕内容,用当前背景色清空屏幕,并将当前点移至(0,0).srand(time(NULL);/设置随机种子 setfont(20,0,黑体);/设置字母的字体和大小 setfillstyle(BLACK);/设置清除字母的填充区域颜色 char target,target1;/目标字母 char key;/用户的按键 int x,y,b=51,c=48;/字母的位置 switch(a)case 1:while(true)target=65+rand()%26;/产生任意大写字母 x=rand()550;/产生任意下落位置 for(y=0;y460;y+)setcolor(GREEN);/设置字母的颜色 outtextxy(x,y,target);setcolor(RED);outtextxy(550,80,”生t 命t 值);outtextxy(600,120,b);setcolor(GREEN);outtextxy(560,450,分值);outtextxy(600,450,c);if(kbhit())key=getch();/获取用户按键 if((key!=target)&(key!=target+32))b=b1;if(key=target)|(key=target+32))/按键正确,击落”字母(画黑色方块擦除)bar(x,y,x+20,y+20);c=c+1;break;/跳出循环,进行下一个字母 else if(key=27)goto EXIT;/如果按 ESC,退出游戏主循环 if(y=459)b=b1;if(b=48)goto over;if(c=57)goto win;Sleep(10);bar(x,y,x+20,y+20);break;case 2:while(true)target=65+rand()%26;/产生任意大写字母 x=rand()550;/产生任意下落位置 for(y=0;y460;y=y+2)setcolor(GREEN);/设置字母的颜色 outtextxy(x,y,target);outtextxy(x+160,y,target1);/显示字母 setcolor(RED);/显示字母 outtextxy(550,80,”生命值”);outtextxy(600,120,b);setcolor(GREEN);outtextxy(560,450,分值”);outtextxy(600,450,c);if(kbhit()key=getch();/获取用户按键 if((key!=target)&(key!=target+32)b=b-1;if(key=target)|(key=target+32)bar(x,y,x+20,y+20);c=c+1;break;else if(key=27)goto EXIT;/如果按 ESC,退出游戏主循环 if(y=459)b=b1;if(b=48)goto over;if(c=57)goto win;Sleep(1);bar(x,y,x+20,y+20);break;case 3:while(true)target=65+rand()%26;/产生任意大写字母 x=rand()%550;/产生任意下落位置 for(y=0;y460;y=y+1)setcolor(GREEN);/设置字母的颜色 outtextxy(x,y,target);setcolor(RED);/显示字母 outtextxy(550,80,生t 命t 值”);outtextxy(600,120,b);setcolor(GREEN);outtextxy(560,450,分值);outtextxy(600,450,c);if(kbhit())key=getch();/获取用户按键 if((key!=target)&(key!=target+32)b=b-1;if((key=target)|(key=target+32))/按键正确,击落字母(画黑色方块擦除)bar(x,y,x+20,y+20);c=c+1;break;/跳出循环,进行下一个字母 else if(key=27)goto EXIT;/如果按 ESC,退出游戏 主循环 if(y=459)b=b1;if(b=48)goto over;if(c=57)goto win;int i;for(i=0;i1000000;i+);bar(x,y,x+20,y+20);break;case 4:while(true)target=65+rand()26;/产生任意大写字母 x=rand()550;/产生任意下落位置 for(y=0;y460;y+)setcolor(GREEN);/设置字母的颜色 outtextxy(x,y,target);outtextxy(x+160,y,target1);/显示字母 setcolor(RED);/显示字母 outtextxy(550,80,”生命值”);outtextxy(600,120,b);setcolor(GREEN);outtextxy(560,450,”分值);outtextxy(600,450,c);if(kbhit())key=getch();/获取用户按键 if((key!=target)(key!=target+32)b=b1;if((key=target)(key=target+32))bar(x,y,x+20,y+20);c=c+1;break;else if(key=27)goto EXIT;/如果按 ESC,退出游戏主循环 if(y=459)b=b-1;if(b=48)goto over;if(c=57)goto win;int i;for(i=0;i1000000;i=i+2);bar(x,y,x+16,y+16);break;case 5:goto EXIT;break;over:gameover();goto bb;win:ok();goto bb;EXIT:goodbye();closegraph();/关闭图形界面