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

c語言隨機生成字元串

發布時間: 2023-03-11 04:05:25

c語言 如何隨機生成字元串

問題在這句:

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

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

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


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

Ⅱ 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語言。生成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語言隨機生成一串字元串,字元串要求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語言產生一個隨機的字元串

//----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;
}

熱點內容
對應伺服器是什麼意思 發布:2024-11-06 19:38:18 瀏覽:254
怎麼搭建伺服器空間 發布:2024-11-06 19:35:36 瀏覽:980
動態規劃01背包演算法 發布:2024-11-05 22:17:40 瀏覽:849
nasm編譯器如何安裝 發布:2024-11-05 22:01:13 瀏覽:181
登錄密碼在微信的哪裡 發布:2024-11-05 22:00:29 瀏覽:739
c防止反編譯工具 發布:2024-11-05 21:56:14 瀏覽:248
安卓虛擬機怎麼用 發布:2024-11-05 21:52:48 瀏覽:344
php時間搜索 發布:2024-11-05 20:58:36 瀏覽:479
燕山大學編譯原理期末考試題 發布:2024-11-05 20:13:54 瀏覽:528
華為電腦出現臨時伺服器 發布:2024-11-05 20:05:08 瀏覽:408