C++:随机生成10~100字符的大小写英文字母字符串,作下列要求的操作,咋写?

要求:1.输入Y或y程序运行一次,无限循环;输入其他字符则退出程序。2.先原串输出一次,再大写字母在前小写字母在后输出一次。3.然后逆序小写字母在前、大写字母在后输出一次... 要求:
1.输入Y或y程序运行一次,无限循环;输入其他字符则退出程序。
2.先原串输出一次,再大写字母在前小写字母在后输出一次。
3.然后逆序小写字母在前、大写字母在后输出一次。
4.最后逆序输出原串。
展开
 我来答
White_MouseYBZ
2021-11-24 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6690万
展开全部

代码文本:

//#include "stdafx.h"//vc++ 6.0? Maybe should add this line.

#include <stdlib.h>

#include <string>

#include <iostream>

#include "math.h"

#include "time.h"

using namespace std;

int main(int argc,char *argv[]){

string s;

char i,k,t;

srand((unsigned)time(NULL));//随机种子

while(cout << "Y/N==",(cin >> k) && (k=='Y' || k=='y')){

for(s="",i=rand()%91+10;i--;)//生成10~100大小写字母串

s+=rand()%26 + (rand()%2 ? 65 : 97);

cout << s << endl;//原串输出

for(t=s.length(),i=0;i<t;i++)//先输出大写

if(s[i]>='A' && s[i]<='Z')

cout << s[i];

for(i=0;i<t;i++)//接上小写输出

if(s[i]>='a' && s[i]<='z')

cout << s[i];

cout << endl;

for(i=t-1;i>=0;i--)//逆序先输出小写

if(s[i]>='a' && s[i]<='z')

cout << s[i];

for(i=t-1;i>=0;i--)//逆序接上输出小写

if(s[i]>='A' && s[i]<='Z')

cout << s[i];

cout << endl;

for(t--;t>=0;cout << s[t--]);//逆序输出原串

cout << "\n\n";

}

return 0; 

(供参考)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式