怎么用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组字符串:\n");

 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]='\0';  

 printf("%s\n",s);

}

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-22
#include "stdio.h"
#include "time.h"
#include "stdlib.h"

int main(int argc, char* argv[])
{
int i;
char buf[20]={0};
srand(time(0));
for(i=0;i<16;i++)
{
buf[i]=rand()%128;
}

printf("buf=%s\n",buf);

return 0;
}
相似回答