C语言源代码

上传人:xgs****56 文档编号:9755014 上传时间:2020-04-07 格式:DOC 页数:19 大小:105KB
返回 下载 相关 举报
C语言源代码_第1页
第1页 / 共19页
C语言源代码_第2页
第2页 / 共19页
C语言源代码_第3页
第3页 / 共19页
点击查看更多>>
资源描述
剪刀石头布源代码#include#includemain() int d,x; printf(请输入:1是剪刀,2是石头,3是布); scanf(%d,&d); x=rand()%3; if(d=x) printf(双方平局); else if(d=1&x=2)|(d=2&x=3)|(d=3&x=1) printf(你赢了); else printf(电脑赢了); 简单计算器#includemain()int a,b,d=0;char c;while(d=0) printf(请开始计算,请输入需要运算的数字和运算法则,数字 符号 数字:); scanf(%d%c%d,&a,&c,&b); switch(c) case+: printf(%d+%d=%dn,a,b,a+b); break; case-: printf(%d-%d=%dn,a,b,a-b); break; case*: printf(%d*%d=%dn,a,b,a*b); break; case/: if(0=b) printf(除法被除数不能为零!n) ; else printf(%d/%d=%dn,a,b,a/b); break; 加油站加油问题#includeint 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(请输入您要的汽油种类,1-a型汽油售价3.25元/千克, 2-b型汽油售价3.00元/千克, 3-c型汽油售价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;猜数字游戏#include#includeint 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); return 0; 万年历#include#includevoid setmonth(int r);void main(void)int year,month,day,a,b,i,j,d,x,mon,k;doprintf(-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=(year-1)*365+(year-1)/4-(year-1)/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=a%7; 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(i-1); 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# include# define Password 123456main ()int a,i,b,q,c;float m;m=3000.00;for (i=0;i=2;i+)printf(请输入密码n); scanf(%d,&a); if(a=Password)printf(密码正确,欢迎使用n);break;elseprintf(密码错误,请重新输入n);if (a!=Password)printf(您的操作错误超过3次,请取回卡n);else system(cls);printf(1.取款n2.存款n3.查询余额n4.退出n);while(b!=4)scanf(%d,&b); switch(b) case 1: system(cls);printf(请输入你要取款的金额n); scanf( %d,&q); printf(取款成功,请选择你要进行的操作n);m=m-q;break;case 2: system(cls);printf(请输入你要存入的金额n);scanf( %d,&c);m=m+c; ;printf(存款成功,请选择你要进行的操作n);break;case 3: system(cls);printf(您的余额为%.2fn,m);break;case 4: system(cls);printf(谢谢使用);break;return 0;学生成绩#include #include float s34;int r=0,c=0;void pjf(void) int i,j,cour = 0; for(j=0;j4;j+) for(i=0;i3;i+) cour+=sij; printf(第%d课的平均分是%dn,(j+1),cour/3); cour = 0; void dkzg(void) int i,j,high=0; for(j=0;j4;j+) for(i=0;ihigh) high=sij; 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=10)printf(请输入第%d个的选票,i);scanf(%c,&j);switch(j)case A:num0+;i+;break;case B:num1+;i+;break;case C:num2+;i+;break;case D:num3+;i+;break;getchar();printf(A获得%d张选票n,num0);printf(B获得%d张选票n,num1);printf(C获得%d张选票n,num2);printf(无效票为%d张 n,num3);打字母游戏#include #include #include #include #include #include / 欢迎界面void welcome()/ 输出屏幕提示cleardevice(); /清除屏幕内容,用当前背景色清空屏幕,并将当前点移至 (0, 0)。setcolor(RED); /设置当前绘图前景色为红色,字体颜色为红色setfont(64, 0, 黑体);/设置当前字体样式为黑体,大小为64outtextxy(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的值自减去8if (c 0) c = 255;Sleep(20);/调用Sleep()函数延时20毫秒getch();/等待用户从键盘按任意一个键,退出循环cleardevice();/用当前背景色清空屏幕,并将当前点移至 (0, 0)。/ 难度界面int welcome2()int i;/ 输出屏幕提示cleardevice(); /清除屏幕内容,用当前背景色清空屏幕,并将当前点移至 (0, 0)。setcolor(YELLOW); /设置当前绘图前景色为黄色,字体颜色为黄色setfont(64, 0, 黑体);/设置当前字体样式为黑体,大小为64outtextxy(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, 黑体);/设置输出字符串的字体为黑体,大小为48outtextxy(40, 180, 其实游戏可以适当玩玩的!);getch();/等待用户从键盘按任意一个键/ 主函数void main()int a;initgraph(640, 480);/ 初始化屏幕为 640x480welcome();/ 显示欢迎界面 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=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=b-1; 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=b-1; 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=b-1; 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=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=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(); / 关闭图形界面
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!