| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
大量收QQ微信精准粉/交友粉,非诚勿扰千里之行 始于足下
共有 310 人关注过本帖
标题:大神们?如何将此代码中的所有可能性及比较结果用代码在电脑中创建一个文件 ...
只看楼主 加入收藏
马洁
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-3-6
结帖率:100%
  已结贴   问题点数:20  回复次数:2   
大神们?如何将此代码中的所有可能性及比较结果用代码在电脑中创建一个文件并用txt输进去呢?
#include <stdio.h>
#include<time.h>
#include<windows.h>
#include<stdlib.h>
int cards[20];
void showcards(int i, int j);
int bullpoint(int m, int n);
int main(void)
{
int i, m, n, c1, c2;
int flag[4][13] = { 0 };
srand((unsigned)time(NULL));
for (i = 0;i<20;i += 2)
{
do
{
m = rand() % 4 + 13;
n = rand() % 13;
} while (flag[m - 13][n]);
cards[i] = m;
cards[i + 1] = n;
flag[m - 13][n] = 1;
}
printf("我的牌是:");
showcards(0, 9);
putchar(10);
printf("你的牌是:");
showcards(10, 19);
c1 = bullpoint(1, 9);
c2 = bullpoint(11, 19);
putchar(10);
if (c1>c2)
{
if (c1 >= 3 * 13)                                 //用13进制的十位表示那种牌,个位表示这个顺子到几、三个几、四个几
printf("顺子我赢!");
else
if (c1 >= 2 * 13)
printf("四带一我赢!");
else
if (c1 >= 13)
printf("三带二我赢!");
else
printf("我赢!");
}
else
if (c1<c2)
{
if (c2 >= 3 * 13)
printf("顺子你赢!");
else
if (c2 >= 2 * 13)
printf("四带一你赢!");
else
if (c2 >= 13)
printf("三带二你赢!");
else
printf("你赢!");
}
else
printf("平手!");
putchar(10);
return 0;
}
void showcards(int i, int j)
{
int ii;
for (ii = i;ii <= j;++ii)
{
if (cards[ii] == 13)
putchar(3);
if (cards[ii] == 14)
putchar(6);
if (cards[ii] == 15)
putchar(4);
if (cards[ii] == 16)
putchar(5);
if (cards[ii]<9)
printf("%d ", cards[ii] + 2);
if (cards[ii] == 9)
printf("J ");
if (cards[ii] == 10)
printf("Q ");
if (cards[ii] == 11)
printf("K ");
if (cards[ii] == 12)
printf("A ");
}
}
int bullpoint(int m, int n)
{
int i, j, t, point1, point2, count1 = 1;
for (i = m;i <= n;i += 2)
{
for (j = i + 2;j <= n;j += 2)
{
if (cards[i]<cards[j])
{
t = cards[i];
cards[i] = cards[j];
cards[j] = t;
}
}
}
for (i = m;i <= n - 2;i += 2)           //顺子 如果cards[i-1]和后面的cards[i+1]、cards[i31]这些再相比较可以得出是不是同花顺或是同花
{
if (cards[i] - 1 != cards[i + 2])
break;
}
if (i == n)
{
point1 = 3;
point2 = cards[m] - 4;
}
for (i = m;i <= n - 2;i += 2)       //两种牌(四带一、三带二)    如果是三种牌(三带一带一、两对)
{
if (cards[i] != cards[i + 2])
count1++;
}
if (count1 == 2)
{
if (cards[m + 2] == cards[m + 4] && cards[m + 4] == cards[m + 6])
{
point1 = 2;
point2 = cards[m + 2];
}
else
if (cards[m + 2] == cards[m + 4])
{
point1 = 1;
point2 = cards[m];
}
else
{
point1 = 1;
point2 = cards[m + 6];
}
}
else
{
point1 = 0;
point2 = cards[m];
}
return (point1 * 13 + point2);
system("pause");
}


[此贴子已经被作者于2018-5-23 13:33编辑过]

2018-03-20 15:13
马洁
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-3-6
  得分:0 
在代码中给电脑创建一个新的文本文件然后将所有结果输出???该怎么做呢?
2018-03-20 15:16
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
  得分:14 
请搜索c文件操作。file 文件的open和fwrite,fread......fclose等操作。。。

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2018-03-21 10:13







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019724 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved