注册 登录
编程论坛 C语言论坛

程序没达到目的求帮助!

祝你前程似锦 发布于 2020-02-11 09:40, 1316 次点击
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
 char rand_max,ch[5];
 int getRandChar(),i;
 srand((unsigned)time(NULL));
 for(i=0;i<5;i++)
 {
           ch[i]=(rand()%rand_max+'0');
           printf("%c",ch[i]);

 }
 return ch[i];
}
我只想要就是数字跟字母 但是这个范围还有字符,比如说这样的[,就不知道该怎么改了。。。
4 回复
#2
forever742020-02-11 10:32
数字和字母共有62个,先搞62个,再去对应。
#3
纯蓝之刃2020-02-11 10:38
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    char ch[50];
    int i;
    srand((unsigned)time(NULL));
    for(i=0; i<50; i++)
    {
        ch[i]=rand()%(10+26+26);
        if(ch[i]<10)
            printf("%c",ch[i]+'0');
        else
            if(ch[i]<(10+26))
                printf("%c",ch[i]-10+'A');
            else
                printf("%c",ch[i]-10-26+'a');
    }
    return ch[i];
}

#4
forever742020-02-11 10:56
程序代码:
char a[]="01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
...
putchar(ch[i]=a[rand()%62]);
...

#5
林月儿2020-02-11 13:45
单循环整两个随机数,第一个设置数字还是字母
第二个在相应范围内取随机值
1