当前位置:首页 » 编程语言 » c语言生成随机字符串

c语言生成随机字符串

发布时间: 2022-06-29 12:42:02

c语言如何随机输出一个字符串

随机输出一个字符串,其实就是要随机生成一个字符串并输出。

要实现这一点,可以通过rand函数来实现。

具体示例代码如下:

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

#defineSTR_LEN10//定义随机输出的字符串长度。
#defineCHAR_MIN'a'
#defineCHAR_MAX'z'//定义输出随机字符串每个字符的最大最小值。
intmain()
{
charstr[STR_LEN+1]={0};
inti;

srand(time(NULL));//通过时间函数设置随机数种子,使得每次运行结果随机。
for(i=0;i<STR_LEN;i++)
{
str[i]=rand()%(CHAR_MAX-CHAR_MIN+1)+CHAR_MIN;//生成要求范围内的随机数。
}
printf("%s ",str);//输出生成的随机数。

return0;
}

以上代码实现了随机生成一个长度为10,全部字符均为小写英文字符的字符串并输出。

核心语句为str[i] = rand()%(CHAR_MAX-CHAR_MIN + 1) + CHAR_MIN;

其中,

rand()获取一个随机数,

rand()%(CHAR_MAX-CHAR_MIN + 1)使结果位于[0, CHAR_MAX-CHAR_MIN]之内。这里利用了模除的特性。

这样最终的结果就是位于[CHAR_MIN, CHAR_MAX]之间的字符了,从而实现控制生成随机数据范围的效果。

❷ 用C语言写一个产生字符串的随机排列的程序

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

int main()
{
char *strs[5] = {"26537", "monkey", "USA", "$&", "给我一首歌的时间"};
char flag[5] = {0};
srand(time(NULL));

for (int i = 0; i < 5; i++)
{
int k;
for (k = rand() % 5; flag[k]; k = rand() % 5)
;
printf("%s", strs[k]);
flag[k] = 1;
}
printf("\n");

}

❸ C语言 随机字符串怎么弄

直接产生随机的字符串的库函数是没有的,
但是可以这么实现:
1.产生固定长度的随机的字符串
主要就是产生固定个数的随机字符,
那么就简单了,用两组随机数:
一组:随机产生0~25的整数num,然后用'a'+num来赋值小写字母,'A'+num来赋值大写字母
一组:随机产生0,1,产生0,用'a'来和num相加,生成小写字母;产生1,用'A'来和num相加,生成大写字母;

2.产生不固定长度的随机的字符串
就是在上面的产生固定长度的随机的字符串的基础上,在引入一组随机数,来控制字符串长度

代码如下:
1.产生固定长度的随机的字符串
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define N 10//固定长度为10

void main()
{
int flag,charLengt;
int i,j,k=0;
char ch[N+1]={NULL};
srand((unsigned)time(NULL));

for(i=0;i<10;i++)//生成10个String吧
{
for(j=0;j<N;j++)
{
flag=rand()%2;
if(flag) ch[k++]='A'+rand()%26;
else ch[k++]='a'+rand()%26;
}
ch[k]='\0';
k=0;
printf("%s\n",ch);
}

getch();
}

不定长的自己参照着写吧

❹ c语言随机生成1000行随机字符串,每行由10个字符组成,是由大写字母和数字组成

#include<stdio.h>
#include"stdlib.h"
#include"time.h"
intmain(intargc,char*argv[]){
ints,i;
srand((unsigned)time(NULL));
for(i=0;i<1000;i++){
for(s=0;s<10;s++)
printf("%c",rand()%2?rand()%26+65:rand()%10+48);
printf(" ");
}
return0;
}

❺ 怎么用c语言随机生成一串字符串,字符串要求8-16位并且包含大小写字母.数字.和符号

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

int main()

{int i,n,j;

char s[20];

srand(time(NULL));

printf("产生20组字符串: ");

for(j=0;j<20;j++){

s[0]=65+rand()%26;//以下4行确保含有大小写字母、数字和符号

s[1]=48+rand()%10;

s[2]=33+rand()%15;

s[3]=97+rand()%26;

n=rand()%9+4;

for(i=4;i<n+4;i++)//保证总长度为8~16

s[i]=33+rand()%94;

s[i]='';

printf("%s ",s);

}

return 0;

}

❻ C语言 sprintf函数,如何生成不规则的随机字符串

没有明白你的本意是什么,做了一个,你看看吧,不对接着追问
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
intmain()
{
inta;
srand((unsigned)time(NULL));
a=rand()%1000;
printf("随机数%0d ",a);
}

❼ c生成随机字符串,是字母和数字的组合,不论大小写,也不论长短。完整的程序。谢谢

#include <stdio.h>
#include <stdlib.h>
main(){
int len,c;
randomize();
len=rand() % 255 + 1;
printf("\n");
while(len--){
switch(rand()%3){
case 0:c='A'+rand()%26;break;
case 1:c='a'+rand()%26;break;
case 2:c='0'+rand()%10;break;
}
printf("%c",c);
}
}

上面的程序生成了字符串直接显示了,如果你需要,可以保存在一个变量里面,程序首先生成随机长度,然后循环长度那么多次进行随机字符生成,每次先产生一个随机数来决定下一个字符是大写字母、小写字母、数字,然后分别生成一个该类随机字符。

❽ 如何用C语言产生一个随机的字符串

//----RandStr.c----
//aimming for procing Random String

#include <stdlib.h>
#include <stdio.h>
#define N 50
int main()
{
char stencil[53] = "";
char RandStr[N];
long RandNum;
for (long i = 0; i < N; i++)
{
RandStr[i] = '\0';
RandNum = rand() % 11 + 10;//The RandStr number From 10 To 20.
for (long i = 0; i < RandNum; i++)
RandStr[i] = stencil[rand() % 52];//All STENCIL-PLATE number: 53.
}
printf("This is a random string:%s\n",RandStr);
return 0;
}

❾ C语言 如何随机生成字符串

问题在这句:

printf("keyis:",key[i]);

你没有指定printf的格式,改为:

printf("keyis:%d",key[i]);


又:不一定每个字符串一样长啊~。 任意一个字符串(长度、内容各异)都可以通过类似的公式进行加密

❿ c语言。生成1000行随机字符串,每行由10个大写字母随机组成。这个代码怎么写,怎么生成随机大写字

#include<cstdio>
#include<cstring>
#include<cstdlib> //随机函数包含在这个里面
#include<ctime> //这是时间库

usingnamespacestd;

intmain(){
freopen("rand.out","w",stdout);
for(inti=1;i<=1000;i++){
for(intj=1;j<=10;j++){
srand(time(0)/*这里调用了系统时间,其实没多大用...*/+i+j+i*j*i);//这相当于向随机中添加种子,添加的越复杂越好,种子要能每次不一样最好;
printf("%c",rand()%26+'A'); //这个rand()便是生成的随机数,用%26+'A'可以保证它在'A'到'Z'的范围内
}
printf(" ");
}
return0;
}

这是所谓的伪随机办法,但基本够用了,用一个能运行的打开运行,然后就会输出到rand.out文件中去

热点内容
玩单机游戏要哪些配置的电脑 发布:2025-02-04 19:17:41 浏览:1002
c语言编程图书 发布:2025-02-04 19:01:52 浏览:897
在哪里开启密码显示 发布:2025-02-04 18:38:30 浏览:789
怎么查询qq密码 发布:2025-02-04 18:20:10 浏览:513
python编写接口 发布:2025-02-04 18:08:30 浏览:78
怎么给游戏设置密码 发布:2025-02-04 18:03:08 浏览:926
商品存储规划 发布:2025-02-04 17:45:24 浏览:567
ios访问共享 发布:2025-02-04 17:36:33 浏览:336
javabuild 发布:2025-02-04 17:30:19 浏览:592
gnulinux编译 发布:2025-02-04 17:30:18 浏览:134