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

c语言随机生成字符串

发布时间: 2023-03-11 04:05:25

c语言 如何随机生成字符串

问题在这句:

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

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

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


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

Ⅱ 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语言。生成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文件中去

Ⅳ 怎么用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语言产生一个随机的字符串

//----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;
}

热点内容
动态规划01背包算法 发布:2024-11-05 22:17:40 浏览:849
nasm编译器如何安装 发布:2024-11-05 22:01:13 浏览:181
登录密码在微信的哪里 发布:2024-11-05 22:00:29 浏览:739
c防止反编译工具 发布:2024-11-05 21:56:14 浏览:248
安卓虚拟机怎么用 发布:2024-11-05 21:52:48 浏览:344
php时间搜索 发布:2024-11-05 20:58:36 浏览:479
燕山大学编译原理期末考试题 发布:2024-11-05 20:13:54 浏览:528
华为电脑出现临时服务器 发布:2024-11-05 20:05:08 浏览:408
斗战神免费挖矿脚本 发布:2024-11-05 19:53:25 浏览:665
网吧服务器分别是什么 发布:2024-11-05 19:45:32 浏览:392