一个长度为100且数组元素为‘a'~'z'的字符数组,请编程打印其所有可能的字符串。

来源:百度知道 编辑:UC知道 时间:2024/06/21 08:06:55
终于想出来了。大家不妨试试看!!
#include <stdio.h>
#define M 100
main()
{
char str[26];
int i,j,k;
int var[M+1]={0}; /* 最后一个数组元素为1则表示打印结束 */
static int cout=0;
for(j=0;j<26;j++)
str[j]='a'+j;
while (1)
{
if ( var[M]==1 )
{
printf("the end of printing. \n"); /* 打印结束 */
break;
}
else
{

for (i=M-1;i>=0;i--)
printf("%c",str[ var[i] ]);
printf("\n");
var[0]++; /* 打印一个最低位增加1 */
for (k=0;k<M;k++) /* 最低位增加1引发的进位动作 */
{
if ( 26==var[k] )
{
var[k]=0;
var[k+1]++;
}
else
break; /* 进位动作结束 */
}
}
}
printf("%\n\n");
return 1;
}

c版的 c的单行输出的格式忘记了.你把printf换正单行输出的就行
#include "stdio.h"

main()
{
char c[100];
int i;
int j;

for(i=0;i<100;i++)
{
c[i]= (97+rand()%26);
}
for(j=0;j<100;j++)
{

printf("%c\n",c[j]);

}

java版的..
class a2
{
public static void main(String[] args)
{
char [] c=new char[100];
int i=0,j=0;
for(;i<100;i++)
{
c[i]=(char) (97+(Math.random()*26));
}
for(;j<100;j++)
{

System.out.print(c[j]);
}
}
}

- - 不是吧。。这样计算机会死机的。。 这个是谁出的题哦

26的100 次方。。 那可不是开玩笑的。。

最后结构有 3.14×10的141次方种可能。。。

一般的电脑,运行程序肯定卡机了。。

这段代码可以作为溢出攻击代码了。。。上面那个还会写java的是高手,可惜数学语文都不过关。

太多了

一维数组长度为20,要求从第一位开始将数组元素依次后移一位,最后一位数组元素移值数组第一位(用PASCAL 创建一个整型一维数组md特拥有100个元素且各元素值为0.0到1.0之间的任一随机数然后再求各个元素的平均值 允许建立一个以汉字为元素的数组吗? 生成一个int数组,长度为100,其中随机插入1-100,并不重复 编程找出100以内能被4整除且个位数为8所有整数,并用指向数组的指针变量操作数组元素输出 用c语言编写:从键盘输入10个数存入数组a中,统计数组下标是奇数且数组元素值为偶数的元素个数 有三维数组A(2,3,4,)、数组中元素长度为4个字节。试求元素A232的相对地址 怎样求string数组其中一个元素的长度? 已知:自负0的ASCⅡ值的十进制为48,且数组的第0个元素在低位 请用快速排序法对一个整型数组进行排序(数组元素为1到10)