C语言如何定义一个数组存放字符和数字?

就比如扑克,从A,1,2,3,4,5,6,7,8,9,10,J,K,Q,如何把这些有包含数字和字母的这些数组,定义存放在一个数组,让他一个一个显示出来10要怎么放进去,存... 就比如扑克,从A,1,2,3,4,5,6,7,8,9,10,J,K,Q,如何把这些有包含数字和字母的这些数组,定义存放在一个数组,让他一个一个显示出来
10要怎么放进去,存放数字10显示出来是0
展开
 我来答
百度网友faadf46
高粉答主

2019-12-17 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:67.8万
展开全部

1、首先,编写头文件以及main函数主框架。

2、接下来可以for语句给他赋值。

3、为了方便测试,可以将其输出。

4、然后我们点击编译运行按钮。

5、这个时候便可以看到如下图效果。

注意事项:

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

考璐0ho
2019-03-01 · TA获得超过493个赞
知道答主
回答量:34
采纳率:25%
帮助的人:4.3万
展开全部

遇到字母和数字混合的数组,定义的时候就不要定义为int型数组,因为用%d输出不了字母, 输出的是字母的ASCII码,不是输出的字母本身,所以,要定义为 字符串型的数组。

若不是里面有个占两个字符的 ‘10’,可以直接用 %s 输出。

但是因为有 字符‘10’,%s输出的是0 就不能用了,就只能用for循环输出。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
推荐于2017-09-12 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6218万
展开全部
  • C语言中,字符类型char和整数类型在存储数据的格式上是相同的,都是采用补码存储数据。所不同的是,char只有一个字节,而int数据有四个字节。一个字节表示的有符号数范围为:-128~127, 四字节表示的有符号数范围为:-2^31~2^31-1.

  • 因此,若想定义一个数组,既能存储char类型,又能存储int类型,则一般情况要定义成int类型数组。

  • 若实际应用中,需要保存的整数类型数据范围在-128~127之间,则可定义成char类型数组。

  • 注:

    当char类型数组中既存储整数,又存储字符时,一定不要按字符串来操作!因为,数值0是整数的一个有效数字,但又是字符串的结束符值。按字符串操作这样的数组,会导致程序计算出现错误。

    在输出数据时,如printf(),当格式串为%c时,是把数组中存储的值按字符输出;当格式串为%d时,是把数组中存储的值按整数输出。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
geniepengsz
2014-09-20 · TA获得超过2万个赞
知道大有可为答主
回答量:1.2万
采纳率:97%
帮助的人:2211万
展开全部
“扑克,从A,1,2,3,4,5,6,7,8,9,10,J,K,Q,如何把这些有包含数字和字母的这些数组,
定义存放在一个数组”
看起来你的要求其实是一个字符数组来存放,
因为“1,2,3,4,5,6,7,8,9,10,”在显示时是以ASCII标准码的字符定义输出的。
所以定义一个char[]数组来存放这些数据,
显示时直接输出字符来显示就可满足要求。
追问
10要怎么放进去,存放数字10显示出来是0
追答
一个char只有一个byte,所以10是由1和0两个char组成,
所以要用两个数组元素来储存才行。
这个输出时要连续输出两个元素来显示10这两个字符。
也可给10定义为一个一个特别的标志如‘X’(罗马字符10)之类的字符,
输出时遇到这个字符,就把输出内容转成“10”这个字符串来输出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haiyangfenghuo
推荐于2017-09-11 · TA获得超过2439个赞
知道大有可为答主
回答量:2388
采纳率:0%
帮助的人:780万
展开全部
用char []就可以,
比如 char a[] = {'A','1','2','3',......‘\0’};
输出也很容易
printf("%s",a);
数字10是显示0的,因为char是一个字节,而10占用了两个字节,所以将低字节输出了。
给你一种方法:是一种投机取巧的方法。
char a[] = {'A','1','2'...'0'+10,'J','K',...'\0'};
输出时
int m = 10;
for(int i = 0;i<14;i++)
{
if(a[i]==":")

{
printf("%d",m);
}
else

printf("%c",c+i);

}
更多追问追答
追问
c是定义哪个
追答
写错了,是a
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式