第4章 程序流程图
① 获取计算机的输入
② 获取用户的合法输入
4
③ 判断用户的输赢
④ 记录用户的数据机胜负率
5
6
第5章 源程序清单
#include
char r; /* 用来存放用户的选择 */ char dn; /* 用来存放电脑的选择 */ int s,q;
double p,y,n,f,z; p=0; y=0; n=0;
printf(\出锤子输入c\\n出剪刀输入j\\n出布输入b\\n计算您的得分输入f\\n可以一次输入许多 会一次性出很多结果哦\\n请输入您的选择:\\n\
srand(time(0)); /* 随机数生成器,设置rand种子值,用来获取计算机的输入 */
// enum{布,剪刀,石头,结束}dn,r; do{ do{
s=rand()%3; switch(s) {
case 0 : dn='c';break; case 1 : dn='j';break; case 2 : dn='b';break; } do{
scanf(\ /* 用来获取用户的合法输入 */ }while(r!='c'&&r!='b'&&r!='j'&&r!='f'); if(r=='f') {
z=y+n+p;
f=100/z*(p/2.0+y); //p 平局 y 赢局 n 输局 z 总共局数 printf(\一共比了%g场\\n赢了%g场\\n输了%g场\\n平局%g场\\n\ y=100/z*y; n=100/z*n; p=100/z*p;
printf(\您的胜率为%.3g%%\\n您的败率为%.3g%%\\n您平局率为%.3g%%\\n您的综合分数为%.3g\\n对您成绩的评语:\ if(f<=20)
printf(\您的运气真的差到一定无法想象的程度了~!\\n\\n\ if(f>20&&f<=40)
printf(\您的运气差了点哦,努力,加油!\\n\\n\ if(f>40&&f<=60)
printf(\您的运气还可以中等啦~中等啦??\\n\\n\ if(f>60&&f<=80)
printf(\您的运气不错哟~!嘿嘿??\\n\\n\ if(f>80&&f<=100)
printf(\哇~!~!~您的运气真的好到家了 你太帅了GG 你太可爱了MM~!!~\\n\\n\ printf(\随便输入几个字符按回车关闭程序\\n\ scanf(\
7
}
if(dn==r) {
printf(\平手,继续\\n\ p++; } else
switch(dn) {
case 'c' : if(r=='j') {
printf(\电脑WIN!! 锤子:剪刀\\n\ } else {
printf(\人WIN! 锤子:布\\n\ }break;
case 'j' : if(r=='b') {
printf(\电脑WIN! 剪刀:布\\n\ } else {
printf(\人WIN! 剪刀:锤子\\n\ }break;
case 'b' : if(r=='c') {
printf(\人WIN! 剪刀:锤子\\n\ } else {
printf(\电脑WIN! 布:锤子\\n\ }break; }
}while(r==dn);
}while(r=='j'||r=='b'||r=='c'); }
第6章 程序运行结果
测试:
① 显示主菜单界面
② 输入界面
8