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