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

如题所述

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

可以这样

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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-27
rand()生成的结果是一个整数,如果想得到字符(字母),则需要控制得到的数据在'a' - 'z'的ascii值之间的数据,给你一个生成大写字母的
int getRandChar()
{
int ch;
srand(time(NULL));
ch=rand()%26; //生成0-25的值
ch += 'A' ; //可得到一个随机字母
return ch ;
}本回答被提问者和网友采纳
第2个回答  2018-01-02
rand()生成的结果是一个整数,如果想得到字符(字母),则需要控制得到的数据在'a' - 'z'的ascii值之间的数据,给你一个生成大写字母的
int getRandChar()
{
int ch;
srand(time(NULL));
ch=rand()%26; //生成0-25的值
ch += 'A' ; //可得到一个随机字母
return ch ;
}
相似回答