C语言考试题大神求代码啊!!!!用随机数生成器列出所有扑克牌的名字
#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
struct cards{
int suit;
int face;
};
char face[13][10]={" Ace","Deuce","Three"," Four"," Five"," Six","Seven","Eight"," Nine"," Ten"," Jack","Queen"," King"};
char suit[4][10]={"hearts ", "clubs ", "spades ", "diamonds"};
void shuffer(struct cards card[])
{
int i, j, a[52], b[52];
srand((int)time(0));
for(i=0; i<52; i++)
a[i] = i;
for(i=0; i<52; i++)
{
j = rand()%52;
if(a[j]!=-1)
{
b[i] = a[j];
a[j] = -1;
}
else
{
while(a[j]==-1)
j=++j%52;
b[i] = a[j];
}
}
for(i=0; i<52; i++)
{
card[i].face = b[i]%13;
card[i].suit = b[i]/13;
}
}
void deal(struct cards card[])
{
int i, j, k;
k = 1;
for(k=0, i=0; i<13; i++)
{
for(j=0; j<4; j++)
{
// printf("%d %d %d\n", k, card[k].suit, card[k++].face);
printf("%s of %s ", face[card[k].face], suit[card[k++].suit]);
}
printf("\n");
}
}
int main()
{
struct cards card[52];
shuffer(card);
deal(card);
}
#include<string.h>
#include<time.h>
#include<stdlib.h>
struct cards{
int suit;
int face;
};
char face[13][10]={" Ace","Deuce","Three"," Four"," Five"," Six","Seven","Eight"," Nine"," Ten"," Jack","Queen"," King"};
char suit[4][10]={"hearts ", "clubs ", "spades ", "diamonds"};
void shuffer(struct cards card[])
{
int i, j, a[52], b[52];
srand((int)time(0));
for(i=0; i<52; i++)
a[i] = i;
for(i=0; i<52; i++)
{
j = rand()%52;
if(a[j]!=-1)
{
b[i] = a[j];
a[j] = -1;
}
else
{
while(a[j]==-1)
j=++j%52;
b[i] = a[j];
}
}
for(i=0; i<52; i++)
{
card[i].face = b[i]%13;
card[i].suit = b[i]/13;
}
}
void deal(struct cards card[])
{
int i, j, k;
k = 1;
for(k=0, i=0; i<13; i++)
{
for(j=0; j<4; j++)
{
// printf("%d %d %d\n", k, card[k].suit, card[k++].face);
printf("%s of %s ", face[card[k].face], suit[card[k++].suit]);
}
printf("\n");
}
}
int main()
{
struct cards card[52];
shuffer(card);
deal(card);
}
佚名
2024-06-13 13:17:25
类似问题(10)
-
佚名2024-06-13 10:38:47
问求帮做一个C#的随机点**,名字连数据库。直接发源代码。
答好啊,你出多少。
-
佚名2024-06-13 02:00:11
问C#怎样生成随机数
答Random rd = new Random(); int i = rd.Next(); Next()方法进行了重载,可以通过设置不同的形参来达到自己想...
-
佚名2024-06-13 16:22:56
问c语言,如何产生随机数
答1、第一步,先定义int一个数组和int一个指针变量。2、接着我们选择让指针指向数组的第一元素的地址。3、接着使循环的条件为指针的尾地址。4、并且因为这段代码每...
-
佚名2024-06-13 14:18:46
问你好,怎样用c语言输出一个1到100的随机数
答源程序如下:#include "pch.h"#include <iostream>#include <time.h>using namespace ...
-
佚名2024-06-13 12:32:37
问c语言如何随机输出同学名字?
答#include <stdlib.h>#include <time.h>int randonNumber(){int i,number;srand(...
-
佚名2024-06-13 08:00:00
问C# 怎样生成20个随机数,随机数范围为[10,100]?
答补充:List<int> num=new List<int>(); for (int i = 0; i < 20; i++) { ...
-
佚名2024-06-13 08:00:00
问用c语言设计课堂随机点名系统
答你好! 是dos下的程序吗,具体要实现什么功能,描述清楚! 点名的时候,是从文件读取名字吗
-
佚名2024-06-13 08:00:00
问c语言考试 求答案
答#include <stdio.h>int isPrimer(int n) { int i,flag = 1; if(n < 2) return 0...
-
佚名2024-06-13 08:00:00
问怎么控制 C++生成随机数的范围
答C++的随机数函数为rand(), 可以获得一个非负整数的随机数。要让随机数限定在一个范围,可以采用模除加加法的方式。要产生随机数r, 其范围为 m<=r...
-
佚名2024-06-13 08:00:00
问Sql server2000上机考试试题,在线等待,急求解答,只需要8-19题的语言代码,万分感谢
答7、insert into 图书借阅信息表select '10001','借阅',‘JSJ01’,'2005-9-16' union....
风水
起名
网名
- 1 虚荣网名
- 2 三字网名女生唯美伤感
- 3 适合90军人qq网名
- 4 睁眼回南城情侣网名
- 5 超拽霸气网名两个字网名
- 6 带帆子qq的网名
- 7 鱼忆海至深情侣网名
- 8 停车场销售员昵称
- 9 龙珠直播昵称修改
- 10 群里改昵称的公告
说说
- 1 qq怎样加空间签名
- 2 做美睫的微信签名
- 3 女生呆萌的个人签名
- 4 渴望结婚的说说
- 5 形容操心的说说
- 6 我现在就要好好学习说说
- 7 仙境和雪的说说
- 8 善良的坏处的说说
- 9 没有谁能爱谁更加好过说说
- 10 情感说说年过四十