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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 sprintf函数,如何生成不规则的随机字符串?相关的知识,希望对你有一定的参考价值。

保留字符串前三位不变,后面的随意生成。。。 谁来帮帮我 怎么搞呢

没有明白你的本意是什么,做了一个,你看看吧,不对接着追问
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main()

int a;
srand((unsigned)time( NULL ));
a=rand()%1000;
printf("随机数%0d\\n",a);

追问

就是使字符串前三位保持不变,后面的字符随机

参考技术A 直接产生随机的字符串的库函数是没有的,
但是可以这么实现:
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();


不定长的自己参照着写吧追问

复制粘贴的不给满意答案

追答

这还不简单唆,用两个字符串相连实现嘛,第一个字符串为固定的那3位,后面的字符串用上面的办法的出,最后调用一个strcat函数不就OK了啊。

以上是关于C语言 sprintf函数,如何生成不规则的随机字符串?的主要内容,如果未能解决你的问题,请参考以下文章

c语言sprintf是啥意思,和printf神马区别

c语言中如何产生1或0随机数

C语言如何编程产生随机数?

C语言如何编程产生随机数?

c语言中的sprintf函数?

c语言中的sprintf函数?