| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1433 人关注过本帖
标题:[求助]关于随机产生字符串
只看楼主 加入收藏
不得不编
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-4-4
收藏
 问题点数:0 回复次数:12 
[求助]关于随机产生字符串

这是个随机产生一个'A'~'Z'的字符串的程序~注释部分的91和65应怎样改啊~?我有搞不懂ASCII码的转换`

#include<iostream>
#include<ctime>
using namespace std;

void main()
{
int i,j;
char *charp;
srand(time(0));
i=rand()%10+1;
charp=new char[i];
for(j=0;j<i;j++)
{

charp[j]=rand()%91+65; //这里应该怎么改啊?
cout<<charp[j];
}
cout<<"\n";
}

搜索更多相关主题的帖子: 字符 随机 
2006-04-08 18:44
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
收藏
得分:0 
if rand()>65 it is ok
if rand()<65 you can make it >65 then every thing is ok

http://kongfuziandlife. http://codeanddesign.
2006-04-09 08:51
不得不编
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-4-4
收藏
得分:0 

什么~??~不懂你的意思~~~

2006-04-09 17:52
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
change
charp[j]=rand()%91+65;
to
charp[j] = rand()%26 + 'A';
这样就算明天VC决定ASCII的字符表变了,'A'不再是65了你的程序也不需要重写。

[此贴子已经被作者于2006-4-10 0:38:57编辑过]


http://myajax95./
2006-04-10 00:38
不得不编
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-4-4
收藏
得分:0 

那么如果大小写字母混合产生~应该怎么改呢~

2006-04-10 18:27
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
change
charp[j] = rand()%26 + 'A';
to
charp[j] = rand()%52+ 'A';

多加点长度就行了

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-04-10 21:27
smiler1998
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-4-9
收藏
得分:0 
简单的改为52,有问题:
因为A~Z的ASCII码为65-90
a-z的ASCII码为97-122
只要再处理一下就行了
2006-04-10 23:21
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 

int intRrand = rand() % 52;

if (intRand < 26)
charp[j] = intRand + 'A';
else
charp[j] = intRand - 26 + 'a';


http://myajax95./
2006-04-11 01:18
不得不编
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-4-4
收藏
得分:0 

不行啊~everajax~~
只产生p一个字符啊

2006-04-11 22:31
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 

#include "stdafx.h"
#include<iostream>
#include<ctime>
using namespace std;

int main(int argc, char* argv[])
{
int i,j;
char *charp;
srand(time(0));
i=rand()%10+1;
charp=new char[i];
for(j=0;j<i;j++)
{
int intRand = rand() % 52;

if (intRand < 26)
charp[j] = intRand + 'A';
else
charp[j] = intRand - 26 + 'a';

cout<<charp[j];
}
cout<<"\n";
return 0;
}


aerydJ
Press any key to continue


http://myajax95./
2006-04-12 02:32
快速回复:[求助]关于随机产生字符串
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047452 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved