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

保留字符串前三位不变,后面的随意生成。。。谁来帮帮我怎么搞呢... 保留字符串前三位不变,后面的随意生成。。。 谁来帮帮我 怎么搞呢 展开
 我来答
cjj796
2013-08-02 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3457万
展开全部
没有明白你的本意是什么,做了一个,你看看吧,不对接着追问
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main()
{
int a;
srand((unsigned)time( NULL ));
a=rand()%1000;
printf("随机数%0d\n",a);
}

追问
就是使字符串前三位保持不变,后面的字符随机
范德萨了就
2013-08-02 · 超过17用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:51.4万
展开全部
直接产生随机的字符串的库函数是没有的,
但是可以这么实现:
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了啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式