云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构课程设计-纸牌游戏

数据结构课程设计-纸牌游戏

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 19:54:59

.

选择3,查看指定纸牌记录,如18

选择4,显示最后结果

'.

.

4.程序清单:

#include #include

#define Flag -1//定义一个全局变量作为正反面的判断条件。 void main() { int i,j,data[52],flag[52],choice,num;//建立两个数组,一个存放52张牌的编号,另外一个存放相应编号的纸牌的翻牌记录。 char m,n;

for(i=1;i<=52;i++) {

data[i-1]=i;//录入52张牌的编号。

flag[i-1]=0;//将相应编号纸牌的翻牌数初始化为0。 }

for(i=2;i<=52;i++)//外循环,基数循环。 {

for(j=1;j<=52;j++)//内循环,基数倍数条件判断。 {

if(j%i==0) {

data[j-1]=data[j-1]*Flag;//将翻转后的结果更新data中的数据。 flag[j-1]++;//翻牌一次,即记入flag数组中。 } } } do{

'.

.

printf(\printf(\printf(\欢迎进入纸牌游戏 -----------\\n\printf(\查看题目 -----------\\n\

printf(\查看所有纸牌的翻牌次数 -----------\\n\printf(\查看指定编号纸牌翻牌记录 -----------\\n\printf(\查看最终正面向上的纸牌编号 -----------\\n\printf(\按0键结束 -----------\\n\

printf(\printf(\printf(\请输入您的选择(数字0-4):\主界面 scanf(\

switch(choice)//通过switch语句进行功能的选择 {

case 1:{

printf(\题目---\\n\

printf(\printf(\编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,\

printf(\直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,\printf(\直到最后一张牌;直到以52为基数的翻过,输出:这时输出正面向上的牌有哪些?\\n\

printf(\printf(\printf(\

printf(\是否回到主菜单?(Y/N):\在每个独立功能后添加了独立的判断语句,从而可以选择性的回到主菜单。 n=getchar(); n=getchar(); if(n=='Y')break; else if(n=='N')

choice=0;//0作为整个界面的循环结束条件,所以直接将choice=0,即可结束循环。 else printf(\提示:输入错误,默认为继续。)***********\\n\case 2:{

printf(\以下为翻牌记录:\\n\

printf(\第1张牌翻过0次。----\\t\printf(\printf(\for(i=1;i<52;i++) {

printf(\第%d张牌翻过%d次。----\\t\if(i%2==0) printf(\}

'.

.

printf(\

printf(\是否回到主菜单?(Y/N):\n=getchar(); n=getchar(); if(n=='Y')break; else if(n=='N') choice=0;

else printf(\提示:输入错误,默认为继续。)*********** **\\n\}break; case 3:{ do{

printf(\请输入您想查询的纸牌编码:\scanf(\

if(num<1&&num>52)//纸牌的序号为1-52,所以其他数值都为输入错误。 printf(\输入错误!\\n\else {

printf(\纸牌翻转记录如下:\\n\

printf(\纸牌翻转次数为%d\\n\for(j=2;j<=52;j++)//内循环,基数倍数条件判断。 {

if(num%j==0) {

printf(\在以编号%d为基数时此纸牌有一次翻转。\\n\} }

printf(\需要继续查询纸牌编码吗?(Y/N):\独立的判断语句,作为do-while的结束条件,从而可循环的查询纸牌编码。 m=getchar(); m=getchar();

if(m!='Y'&&m!='N')

printf(\提示:输入错误,默认为跳过。)******** **\\n\}while(m=='Y');

printf(\是否回到主菜单?(Y/N):\n=getchar(); n=getchar(); if(n=='Y')break; else if(n=='N') choice=0;

else printf(\提示:输入错误,默认为继续。)***** *****\\n\}break; case 4:{

printf(\最后所有正面向上的牌有:\\n\for(i=0;i<52;i++) {

'.

.

if(data[i]>0)//所有大于0的数即为正面向上的纸牌。 printf(\第%d张牌 \}

printf(\

printf(\是否回到主菜单?(Y/N):\n=getchar(); n=getchar(); if(n=='Y')break; else if(n=='N') choice=0;

else printf(\提示:输入错误,默认为继续。)**** ******\\n\}break;

case 0:break;

default:printf(\输入错误,请重新输入!\\n\}

}while(choice!=0);//0作为整个循环的结束条件。

printf(\程序结束,谢谢使用********************\\n\

'.

搜索更多关于: 数据结构课程设计-纸牌游戏 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

. 选择3,查看指定纸牌记录,如18 选择4,显示最后结果 '. . 4.程序清单: #include #include #define Flag -1//定义一个全局变量作为正反面的判断条件。 void main() { int i,j,data[52],flag[52],choice,num;//建立两个数组,一个存放52张牌的编号,另外一个存放相应编号的纸牌的翻牌记录。 char m,n; for(i=1;i<=52;i++) { data[i-1]=i;//录入52张牌的编号。 flag[i-1]=0;//将相应编号纸牌的翻牌数初始化为0。 }

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com