c语言编程-洗牌问题,无法运行,求解原因

问题描述

洗牌问题,无法运行,求解原因

代码如下:
#include
#include
#include
#include

struct POKER
{
char suit[10];
char face[5];
};
typedef struct POKER Poker;

void main(void)
{
Poker card[52],temp;
int i,j;
char *Suit[] = {"Spades","Hearts","Clubs","Diamonds"};
char *Face[] = {"A","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};

for(i=0;i<52;i++)
{
    strcpy(card[i].suit,Suit[i/13]);
    strcpy(card[i].face,Suit[i%13]);
}

srand(time(NULL));

for(i=0;i<52;i++)
{
    j = rand()%52;
    temp = card[i];
    card[i] = card[j];
    card[j] = temp;
}

printf("洗牌的结果如下:n");
for(i=0;i<52;i++)
{
    printf("%10s%10sn",card[i].suit,card[i].face);
}

}
我是在VC6.0下运行的,编译没有报错,但是不能运行,为什么呀?

时间: 2024-10-07 13:28:32

c语言编程-洗牌问题,无法运行,求解原因的相关文章

c语言编程-关于cfree5.0不能运行for循环

问题描述 关于cfree5.0不能运行for循环 解决方案 字体太小,我写了一个, #include ""stdio.h""int main(){int i;for (i = 1; i < 5; i++){printf(""12345 "");}} 通过编译 http://codepad.org/RuhGArAM 如果还不行,就是你的开发环境的问题,建议你换vc++ 解决方案二: 加上 ruturn 0;试试,还有符号都

《C语言及程序设计》程序阅读——洗牌

返回:贺老师课程教学链接 //随机数发牌游戏的C语言实现: #include<stdio.h> #include<stdlib.h> #include<time.h> void initial(int* p)//初始化一付牌 { int i; for(i=0; i<52; i++) p[i]=(i/13+3)*100+i%13+1; } void xipai(int *p)//洗牌 { int i,x,y; int t; srand((int)time(0));

c语言编程-这段C程序设计语言书上的代码,运行后按回车只换行并没有输出最长的行,为什么

问题描述 这段C程序设计语言书上的代码,运行后按回车只换行并没有输出最长的行,为什么 #include#define MAXLINE 1000int getline(char line[]int maxline);void copy(char to[]char from[]);main(){int len;int max;char line[MAXLINE];char longest[MAXLINE];max = 0;while ((len = getline(lineMAXLINE))>0)i

c语言-这道简单的编程题里,为啥运行结果会是这个?

问题描述 这道简单的编程题里,为啥运行结果会是这个? 以上题,结果是怎么出来的呢?? 老师说for的嵌套循环语句时一笔带过,之前重点讲了道for的例题, 但我发现,用这道例题的逻辑去思考嵌套循环语句,完全行不通嘛!im crazy!!求好心人解答... 解决方案 其实,我觉得你应该是不会看内外层的嵌套,一般都是从最内层开始看 , i j k 所以一上来就是000 001 之后k都循环完了,再往外就是j = 1 的情况,而这时候i = 0 所以结果是 010 011 以此类推 j的情况结束了,i

c语言-c编程中常见的程序运行问题,如何解决,和程序的语法问题

问题描述 c编程中常见的程序运行问题,如何解决,和程序的语法问题 include int main(void) { int i; i=5; int j; j=6; int a; a = i + j; printf("a = %dn", a); return 0; }上面的代码可以运行,但是同样的内容改成以下的书写形式连接时为啥报错,下面的书写如下: include int main(void) { int i = 5 ; int j = 6 ; int a = i + j; print

HTML5已定稿,应用发行市场将迎来洗牌?

HTML5对开发者的7大优势 跨平台: 在多屏年代,开发者的痛苦指数非常高,人人都期盼HTML5能扮演救星.多套代码.不同技术工种.业务逻辑同步,这是折磨人的过程.有点类似个人电脑早期世界,那个时候的每家电脑都有自己的操作系统和编程语言,开发者疲于做不同版本,其实DOS的盛行也很大程度是因为开发者实在没精力给其他电脑写程序.跨平台技术在早期大多因为性能问题夭折,但中后期硬件能力增强后又会占据主流,因为跨平台确实是刚需. 快速迭代: 移动互联网是一个快鱼吃慢鱼的时代,谁对用户的需求满足的更快,谁的

一个简单有效的洗牌算法

装配脑袋兄在某个帖子中指出了一种有意思的洗牌算法,博主按照他的思路写了另外一种洗牌算法.下面是该洗牌算法的思路: 我们先看一下纸牌游戏.一幅纸牌由 52 张不同的纸牌组成,发牌时必须产生不重复的纸牌,而且洗牌过程必须公平,即 52! 中纸牌顺序应该等概率出现.很明显这种随机排列所产生的随机数必须均匀分布且独立.由此代码如下: using System; using System.Diagnostics; namespace Lucifer.CSharp.Sample { class Progra

win7下c语言编程软件有哪些

  win7下c语言编程软件有哪些.好多刚开始接触c语言的朋友都想知道用上面软件开发c语言比较好,一般来说微软的东西肯定是最好的,更适合新手学习,等上手了就可以接触别的软件了.这里脚本之家小编就为大家分享一下c语言编程软件有哪些? Microsoft Visual C++ .Microsoft Visual Studio. DEV C++.Code::Blocks.Borland C++.WaTCom C++.Borland C++ Builder.GNU DJGPP C++.Lccwin32

c语言-在C语言编程中,我定义的全局变量足有2M大小,但生成的程序只有20k,怎么回事?

问题描述 在C语言编程中,我定义的全局变量足有2M大小,但生成的程序只有20k,怎么回事? 在C语言编程中,我定义的全局变量足有2M大小,但生成的程序只有20k,怎么回事? 解决方案 全局变量是运行时操作系统分配的,分配在堆上,不是分配在静态区,所以不会影响exe的大小. 解决方案二: 你的全局变量没有初始化数据吧?如果你有2M大小的数据,就不一样了. 比如, char a[2*1024*1024] = {0,1,2,3,4..........}; char b[2*1024*1024]; 在链