C语言 如何随机产生一个A到Z的字符?

C语言 如何随机产生一个A到Z的字符?

1、rand()生成的结果是一个整数,如果想得到字符(字母),则需要控制得到的数据在'a' - 'z'的ascii值之间的数据。

2、一个生成大写字母的函数,想生成多少个,就调用多少次这个函数:

int getRandChar()
{
int ch;
srand(time(NULL));
ch=rand()%26; //生成0-25的值
ch += 'A' ; //可得到一个随机字母
return ch ;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-23
你好!
你可以随机产生 0-25 的数字,然后加上 A 字母的 ASC码,就能随机显示 A 到 Z 了追问

那如何限制只产生0到25?

追答

你好!

代码发给你,你看看吧

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
 int  i, j;
 srand(time(NULL));      // 初始化随机函数
 i = rand() % 26;        // 产生小于26的数字,也就是 0 到 25
 printf("%c\n",i+65);    // A的ASC码是65,加上65,显示出对应的大写字母
 
}

追问

srand(time(NULL))
这个是用来干嘛的啊?

追答

已经把注释补充上了,你刷新页面看看吧,有问题再问

追问

怎么刷新?不好意思!刚弄这个软件不久

追答#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
 int  i, j;
 srand(time(NULL));      // 初始化随机函数
 i = rand() % 26;        // 产生小于26的数字,也就是 0 到 25
 printf("%c\n",i+65);    // A的ASC码是65,加上65,显示出大写字母
  
}

追问

谢了…三克油

追答

别客气

追问

呵呵

在吗?

追答

在,还有什么问题

追问

发图给你看

第二断和第三断有一样的

本回答被提问者采纳
相似回答