C 如何创建带有随机字母a..z的字符方阵
几天前我就开始用C语言工作了。我想用随机小写字母a..z创建字符的方阵。 比如: a x r zC 如何创建带有随机字母a..z的字符方阵,c,C,几天前我就开始用C语言工作了。我想用随机小写字母a..z创建字符的方阵。 比如: a x r z b q e s w o t x 皮尤 如何在C语言中创建这样的方阵。我已经搜索过了,但没有找到任何解决方案。如果有人能给我一个解决方案,这会很有帮助。这应该让你开始: #include <time.h> #include <stdlib.h> #define SIZE 4 void Init(char matrix[SIZE][SIZE]) { int i,j;
b q e s
w o t x
皮尤
如何在C语言中创建这样的方阵。我已经搜索过了,但没有找到任何解决方案。如果有人能给我一个解决方案,这会很有帮助。这应该让你开始:
#include <time.h>
#include <stdlib.h>
#define SIZE 4
void Init(char matrix[SIZE][SIZE])
{
int i,j;
for (i=0; i<SIZE; i++)
for (j=0; j<SIZE; j++)
matrix[i][j] = (char)('a'+rand()%('z'-'a'+1));
}
int main()
{
char matrix[SIZE][SIZE];
srand((unsigned int)time(NULL));
Init(matrix);
// The rest of your program...
return 0;
}
#包括
#包括
#定义大小4
void Init(字符矩阵[SIZE][SIZE])
{
int i,j;
对于(i=0;i这应该让您开始:
#include <time.h>
#include <stdlib.h>
#define SIZE 4
void Init(char matrix[SIZE][SIZE])
{
int i,j;
for (i=0; i<SIZE; i++)
for (j=0; j<SIZE; j++)
matrix[i][j] = (char)('a'+rand()%('z'-'a'+1));
}
int main()
{
char matrix[SIZE][SIZE];
srand((unsigned int)time(NULL));
Init(matrix);
// The rest of your program...
return 0;
}
#包括
#包括
#定义大小4
void Init(字符矩阵[SIZE][SIZE])
{
int i,j;
对于(i=0;i,@barak给出的代码绝对有效。我添加了一些代码来打印该矩阵
#include <time.h>
#include <stdlib.h>
#define SIZE 4
void Init(char matrix[SIZE][SIZE])
{
int i,j;
for (i=0; i<SIZE; i++)
for (j=0; j<SIZE; j++)
matrix[i][j] = 'a'+rand()%('z'-'a'+1);
}
int main()
{
char matrix[SIZE][SIZE];
int i,j;
srand((unsigned int)time(NULL));
Init(matrix);
for(i=0;i<SIZE;i++){
for(j=0;j<SIZE;j++){
printf("%c",matrix[i][j]);
}
printf("\n");
}
return 0;
}
#包括
#包括
#定义大小4
void Init(字符矩阵[SIZE][SIZE])
{
int i,j;
对于(i=0;i,@barak给出的代码绝对有效。我添加了一些代码来打印该矩阵
#include <time.h>
#include <stdlib.h>
#define SIZE 4
void Init(char matrix[SIZE][SIZE])
{
int i,j;
for (i=0; i<SIZE; i++)
for (j=0; j<SIZE; j++)
matrix[i][j] = 'a'+rand()%('z'-'a'+1);
}
int main()
{
char matrix[SIZE][SIZE];
int i,j;
srand((unsigned int)time(NULL));
Init(matrix);
for(i=0;i<SIZE;i++){
for(j=0;j<SIZE;j++){
printf("%c",matrix[i][j]);
}
printf("\n");
}
return 0;
}
#包括
#包括
#定义大小4
void Init(字符矩阵[SIZE][SIZE])
{
int i,j;
对于(i=0;i首先要考虑到,没有必要像EBCDIC中那样,所有小写字母在没有中间符号的情况下相互跟随。因此,最好自己定义相应的序列
这是一个演示程序
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void square_matrix_init( size_t n, char matrix[][n] )
{
char *s = "abcdefghijklmnopqrstuvwxyz";
const size_t N = 26;
for ( size_t i = 0; i < n; i++ )
{
for ( size_t j = 0; j < n; j++ ) matrix[i][j] = s[ rand() % N ];
}
}
int main(void)
{
size_t n = 4;
char matrix[n][n];
srand( (unsigned int )time( NULL ) );
for ( size_t i = 0; i < n; i++ )
{
square_matrix_init( n, matrix );
for ( size_t k = 0; k < n; k++ )
{
for ( size_t l = 0; l < n; l++ ) printf( "%c ", matrix[k][l] );
printf( "\n" );
}
printf( "\n" );
}
return 0;
}
首先要考虑的是,没有必要像EBCDIC中那样,所有小写字母在没有中间符号的情况下相互跟随,因此最好自己定义相应的序列
这是一个演示程序
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void square_matrix_init( size_t n, char matrix[][n] )
{
char *s = "abcdefghijklmnopqrstuvwxyz";
const size_t N = 26;
for ( size_t i = 0; i < n; i++ )
{
for ( size_t j = 0; j < n; j++ ) matrix[i][j] = s[ rand() % N ];
}
}
int main(void)
{
size_t n = 4;
char matrix[n][n];
srand( (unsigned int )time( NULL ) );
for ( size_t i = 0; i < n; i++ )
{
square_matrix_init( n, matrix );
for ( size_t k = 0; k < n; k++ )
{
for ( size_t l = 0; l < n; l++ ) printf( "%c ", matrix[k][l] );
printf( "\n" );
}
printf( "\n" );
}
return 0;
}
你有多远?你知道如何创建2D数组(矩阵)吗在C语言中?如果是这样的话,为什么你不能创建一个方阵?或者你可以创建一个方阵,但你不知道如何将随机值放入其中?请澄清你的问题,展示你所尝试的,并强调你所尝试的问题。生成一个介于0和26之间的数字,向其添加'a'
。将其分配给矩阵的一个元素x、 重复直到矩阵被填充。我已经创建了字符的方阵。我不知道如何创建字符的随机方阵。如果你不介意重复,只需为每个数组元素分配一个随机字母。否则,将一个包含所有字母的数组混洗,并将前N个元素分配给你的数组。你有多远?你知道如何使用c吗创建二维阵列(矩阵)在C语言中?如果是这样的话,为什么你不能创建一个方阵?或者你可以创建一个方阵,但你不知道如何将随机值放入其中?请澄清你的问题,展示你所尝试的,并强调你所尝试的问题。生成一个介于0和26之间的数字,向其添加'a'
。将其分配给矩阵的一个元素x、 重复,直到矩阵被填充。我已经创建了字符的方阵。我不知道如何创建字符的随机方阵。如果你不介意重复,只需为每个数组元素分配一个随机字母。否则,将一个包含所有字母的数组混洗,并将前N个元素分配给数组。你应该使用SIZE
来继续滚动打印数组的循环。@pmg-true。我已经编辑了该代码。感谢您的建议。:)您应该使用SIZE
来控制打印数组的循环。@pmg-true。我已经编辑了该代码。感谢您的建议。:)如果OP想要洗牌数组(或获取唯一值)他需要稍微不同的char s[]=“abcdefghijklmnopqrstuvxyz”
如果OP想要洗牌数组(或获取唯一值),他需要稍微不同的char s[]=“abcdefghijklmnopqrstuvxyz”