C语言 如何随机生成字符串

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>main(){inti,key[... #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
main()
{
int i,key[1000]={0};
char *str="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,./;\"'<>?";
srand(time(NULL));
for(i=0;i<1000;i++)
key[i] = str[rand()%72];
printf("key is:",key[i]);
}
这是我写的程序,能build,但是无法随机输出字符串
还想问一下如方程encrypted[i] = original[i] + key[i]中,是不是要求各字符串长度相同才可以运行此方程
展开
 我来答
splashchaos
2014-11-28 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3342
采纳率:0%
帮助的人:3665万
展开全部

问题在这句:

printf("key is:",key[i]);

你没有指定printf的格式,改为:

printf("key is:%d ",key[i]);


 又:不一定每个字符串一样长啊~。 任意一个字符串(长度、内容各异)都可以通过类似的公式进行加密。

金色潜鸟
推荐于2018-03-19 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5690万
展开全部
漏了输出格式%c
for(i=0;i<1000;i++) {
key[i] = str[rand()%72];
printf("key is:%c",key[i]);
};
========
encrypted[i] = original[i] + key[i];
这是单个字符的运算,只要下标 i 没超界 就可以运算。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式