c语言随机生成字符串
Ⅰ 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]='