在c语言中怎样使用rand随机函数随机产生一个字母,谢谢

 我来答
风若远去何人留
2015-04-15 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部

字母 要求是包括大小写吗?

可以这样

char c;
srand(time(NULL));//设置随机数种子
c = rand()%52;
if(c > 25) c = c - 25 + 'a';
else c = c+'A';
追问
请问需要加其他头文件或者其他什么吗?不能运行
追答

完整程序

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    char c;
    srand(time(NULL));//设置随机数种子
    c = rand()%52;
    if(c > 25) c = c - 25 + 'a';
    else c = c+'A';
    printf("%c\n", c);
    return 0;
}
kaixingui2012
推荐于2017-11-27 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6479万
展开全部
rand()生成的结果是一个整数,如果想得到字符(字母),则需要控制得到的数据在'a' - 'z'的ascii值之间的数据,给你一个生成大写字母的
int getRandChar()
{
int ch;
srand(time(NULL));
ch=rand()%26; //生成0-25的值
ch += 'A' ; //可得到一个随机字母
return ch ;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
2018-01-02 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6479万
展开全部
rand()生成的结果是一个整数,如果想得到字符(字母),则需要控制得到的数据在'a' - 'z'的ascii值之间的数据,给你一个生成大写字母的
int getRandChar()
{
int ch;
srand(time(NULL));
ch=rand()%26; //生成0-25的值
ch += 'A' ; //可得到一个随机字母
return ch ;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式