當前位置:首頁 » 編程語言 » c語言生成隨機字元串

c語言生成隨機字元串

發布時間: 2022-06-29 12:42:02

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

printf("%s ",s);

}

return 0;

}

❻ C語言 sprintf函數,如何生成不規則的隨機字元串

沒有明白你的本意是什麼,做了一個,你看看吧,不對接著追問
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
intmain()
{
inta;
srand((unsigned)time(NULL));
a=rand()%1000;
printf("隨機數%0d ",a);
}

❼ c生成隨機字元串,是字母和數字的組合,不論大小寫,也不論長短。完整的程序。謝謝

#include <stdio.h>
#include <stdlib.h>
main(){
int len,c;
randomize();
len=rand() % 255 + 1;
printf("\n");
while(len--){
switch(rand()%3){
case 0:c='A'+rand()%26;break;
case 1:c='a'+rand()%26;break;
case 2:c='0'+rand()%10;break;
}
printf("%c",c);
}
}

上面的程序生成了字元串直接顯示了,如果你需要,可以保存在一個變數裡面,程序首先生成隨機長度,然後循環長度那麼多次進行隨機字元生成,每次先產生一個隨機數來決定下一個字元是大寫字母、小寫字母、數字,然後分別生成一個該類隨機字元。

❽ 如何用C語言產生一個隨機的字元串

//----RandStr.c----
//aimming for procing Random String

#include <stdlib.h>
#include <stdio.h>
#define N 50
int main()
{
char stencil[53] = "";
char RandStr[N];
long RandNum;
for (long i = 0; i < N; i++)
{
RandStr[i] = '\0';
RandNum = rand() % 11 + 10;//The RandStr number From 10 To 20.
for (long i = 0; i < RandNum; i++)
RandStr[i] = stencil[rand() % 52];//All STENCIL-PLATE number: 53.
}
printf("This is a random string:%s\n",RandStr);
return 0;
}

❾ C語言 如何隨機生成字元串

問題在這句:

printf("keyis:",key[i]);

你沒有指定printf的格式,改為:

printf("keyis:%d",key[i]);


又:不一定每個字元串一樣長啊~。 任意一個字元串(長度、內容各異)都可以通過類似的公式進行加密

❿ 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語言編程圖書 發布:2025-02-04 19:01:52 瀏覽:894
在哪裡開啟密碼顯示 發布:2025-02-04 18:38:30 瀏覽:787
怎麼查詢qq密碼 發布:2025-02-04 18:20:10 瀏覽:513
python編寫介面 發布:2025-02-04 18:08:30 瀏覽:78
怎麼給游戲設置密碼 發布:2025-02-04 18:03:08 瀏覽:926
商品存儲規劃 發布:2025-02-04 17:45:24 瀏覽:567
ios訪問共享 發布:2025-02-04 17:36:33 瀏覽:335
javabuild 發布:2025-02-04 17:30:19 瀏覽:592
gnulinux編譯 發布:2025-02-04 17:30:18 瀏覽:132
蘇州阿里雲伺服器專網 發布:2025-02-04 17:21:05 瀏覽:526