㈠ 如何用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語言 如何隨機產生一個A到Z的字元
1、rand()生成的結果是一個整數,如果想得到字元(字母),則需要控製得到的數據在'a' - 'z'的ascii值之間的數據。
2、一個生成大寫字母的函數,想生成多少個,就調用多少次這個函數:
intgetRandChar()
{
intch;
srand(time(NULL));
ch=rand()%26;//生成0-25的值
ch+='A';//可得到一個隨機字母
returnch;
}
㈢ 在C語言中怎樣產生隨機的字元串
//產生長度為length的隨機字元串
char* genRandomString(int length)
{
int flag, i;
char* string;
srand((unsigned) time(NULL ));
if ((string = (char*) myMalloc(length)) == NULL )
{
myLog("Malloc failed!flag:14\n");
return NULL ;
}
for (i = 0; i < length - 1; i++)
{
flag = rand() % 3;
switch (flag)
{
case 0:
string[i] = 'A' + rand() % 26;
break;
case 1:
string[i] = 'a' + rand() % 26;
break;
case 2:
string[i] = '0' + rand() % 10;
break;
default:
string[i] = 'x';
break;
}
}
string[length - 1] = '\0';
return string;
}
㈣ 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語言中怎樣使用rand隨機函數隨機產生一個字母,謝謝
字母 要求是包括大小寫嗎?
可以這樣
charc;
srand(time(NULL));//設置隨機數種子
c=rand()%52;
if(c>25)c=c-25+'a';
elsec=c+'A';