- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序的数据结构基础;C语言提供的数据持久化技术,用来把数据存储在外部存储器上;顺序地组织同类型数据——数组类型;5.1 数组基础;5.1.1 扑克牌的表示与数组定义;2. 数组的定义
数组定义的一般格式是
数组用一个名字存储多个同类型数据。使用数组前,必须先进行定义。存储扑克的数组card可以用如下声明定义。
int card[54];;3. 数组初始化
数组card的初始化语句为
int card [54]= { 101,102,103,104,105,106,107,108,109,110,111,112,113,201,202,203,204,205,206,207,208,209,210,211,212,213,301,302,303,304,305,306,307,308,309,310,311,312,313,401,402,403,404,405,406,407,408,409,410,411,412,413,501,502};;;;5.1.2 扑克牌查找:数组元素引用与数组名参数;代码5.1 用赋值方法给定每张扑克牌的值,输出各张扑克牌的值并有哪些信誉好的足球投注网站一张牌。
#include stdio.h
int main (void){
int card[54] ,i, j, k, x, flag = -1;
/* 数组元素赋值 */
for( i = 0; i 4; i ++) /* 在重复结构中给前52个元素赋值 */
for(j = 0; j 13; j ++)
card[i * 13 + j] = 100 * (i + 1) + j + 1;
card[52] = 501; /* 给最后两张扑克牌赋值 */
card[53] = 502;
/* 输出各张牌的值 */
for( i = 0; i = 53; i ++){
printf(card[%d]= %d, ,i,card[i ]);
}
/* 有哪些信誉好的足球投注网站一张扑克牌 */
printf(\n输入要查找的牌:);
scanf(“%d”,x);
for (k = 0; k 54; k ++) /* 有哪些信誉好的足球投注网站为x的牌 */
if(card[k] == x){
flag = k; break;
}
if(flag == -1) printf(\n找不到要找的牌!);
else printf(\n这张牌是第%d张牌。,k);
return 0;
};;2. 用函数实现数组操作功能与数组名参数;代码5.4 函数searchCard()的测试主函数。
#include stdio.h
int searchCard(int pk[] ,int x);
int main (void){
int x,f;
int card[54] = { 101,102,103,104,105,106,107,108,109,110,111,112,113,201,202,203,204,205,206,207,208,209,210,211,212,213,301,302,303,304,305,306,307,308,309,310,311,312,313,401,402,403,404,405,406,407,408,409,410,411,412,413,501,502} ;
printf(\n输入要查找的牌: );
scanf(%d,x);
f = searchCard(card,x);
if (f == -1) printf(\n找不到要找的牌!\n);
else printf(\n要找的是第%d张牌!\n, f);
return 0;
} ;;;5.1.3 扑克洗牌的随机模拟;;;代码5.6 多次洗牌模拟函数。
#include stdlib.h
#include time.h
void shuffle(int card[]){
int times = 1; /* 洗牌次数 */
int i, j,rdm,temp;
srand(time(00)); /* 用时间函数作为伪随机数序列种子 */
printf(\n请输入洗牌次数:);
scanf(%d,times);
for(j = 0;j times;++ j){ /* 重复n次 */
for(i = 0; i 54;++ i){
rdm = rand() % (54 - i) + i; /* 生成一个[i,53]之间的随机数*/
temp = card[i];
card[i] = card[rdm];
card[rdm] = temp;
}
文档评论(0)