C++知识:编写程序将两个按照字母顺序排列的任意字符串进行合并。。。

作者&投稿:谷胆 (若有异议请与网页底部的电邮联系)
用C++编写:输入两个从小到大顺序排列好的字符串,合并两个字符串,使合并的字符串仍从小到大排列。~

#include
#include
using namespace std;
const int maxlen=200;
char *substr( char *a, int start, int len)
{
int i;
char *ans = new char[maxlen];
char *p = &a[start];
for ( i = 0; i < len; i++ )
{
ans[i] = *p;
p++;
}
ans[i] = '\0';
return ans;
}

void insert( char *a, char *b, int start )
{
char *ans = new char[maxlen];
ans = substr( a, 0, start );
strcat( ans, b );
strcat( ans, substr( a, start, strlen(a)-start));
strcpy( b, ans);
}

void del( char *a, int start, int len )
{
char *ans = new char[maxlen];
ans = substr( a, 0, start);
strcat( ans, substr( a, start + len, strlen(a) - start - len ));
strcpy( a, ans);
}

void task1()
{
char a[maxlen];
int start, len;
cout << "请输入待处理的字符串"<<endl;
cin >> a >> start >> len;
cout << "结果是: " << substr( a, start, len);
}

void task2()
{
char a[maxlen], b[maxlen];
int start;
cout << "请输入两个字符串和起始点"<<endl;
cin >> a >> b >> start;
insert( a, b, start);
cout << "结果是: " << b << endl;
}

void task3()
{
char a[maxlen];
int start, len;
cout << "请输入该字符串,起始点,删除长度"<<endl;
cin >> a >> start >> len;
del( a, start, len );
cout << "结果是: " << a << endl;
}

typedef void( *task )();
int main()
{
int n;
cout << "What do you want to do?" << endl
<< "1得到一个字符串的子串" << endl
<< "2将字符串b插入字符串a" << endl
<< "3删除字符串a的一部分"
<<endl;
task p[] = {task1, task2, task3 };
cin >> n;
switch(n)
{
case 1: p[0](); break;
case 2: p[1]();break;
case 3: p[2](); break;
default: cout << "Wrong" << endl; break;
}
return 0;
}

支持对字符串进行三种操作

#include
#include
using namespace std;
void main()
{
char a[50],b[50];
cin>>a>>b;
cout<<strcat(a,b)<<endl;;
}

/*C++知识:编写程序将两个按照字母顺序排列的任意字符串进行合并,
合并后的字符串依然按照字母顺序排列,如achk和bfg合并后应为abcfghk。 */
#include <fstream>
#include <iostream>
using namespace std;
int gl(char*c)
{int i=1;
while(c[i-1]!=0)i++;return i-1;
}
char *ht(char c[2][5] )
{ int n=gl(c[0]), m=gl(c[1]),l=n+m+1;
char *d=new char[l];
for(int i=0;i<n;i++)d[i]=c[0][i];
for(;i<l;i++)d[i]=c[1][i-n];d[l]=0;return d;
}
void main()
{
char d[2][5];
fstream in("zz.txt");//zz.txt :achk bfg
if(! in)
{
cout<<"文件打开错误!"<<endl;
return ;
}
else for(int i=0;i<2;i++)
in>>d[i];
for(int i=0;i<2;i++)
cout<<d[i]<<endl;
int n=gl(d[0]), m=gl(d[1]);
cout<<n<<ends<<m<<endl;
cout<<ht(d)<<endl;
char*k=ht(d);
int l=gl(k),j;
char t;
for (i=1;i<l;i++)
{
j=i;
t=k[i];
while(j>0&&t<k[j-1])
{k[j]=k[j-1];j--;}k[j]=t;
}
cout<<k<<endl;

}


结合一维数组知识编写程序实现从键盘输入6个学生的分数, 并在屏幕上...
错误不多,修改如下:\/\/注释修改:include<stdio.h>int main(){ int a[6]; int i,max,total; double average; printf("input six number as score:\\n"); for( i=0;i<6;i++) scanf("%d", &a[i]); \/\/不要用过多输入控制符scanf(" %d ", &a[i]); max=a[0]; for( ...

微信小程序需要什么知识
这个框架为微信小程序的运行提供了丰富的组件和API。要学会和掌握小程序的框架结构、数据绑定机制、模板、数据缓存、常用组件和API等相关知识。 小程序编写需要什么知识 1.小程序开发需要什么知识 小程序本质上就是一个网页,至少需要熟练常用的Web开发所需要的、以及会制作手机网页。 如何选择微信小程序开发公司? 开发...

C语言的知识有什么?
1、C语言编写的程序称为源程序,又称为编译单位。2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。3、一个C语言程序有且只有一个main函数,是程序运行的起点。第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---...

结合一维数组知识编写程序实现从键盘输入6个学生的分数, 并在屏幕上...
include<stdio.h> int main(){ int a[6];int i,max,total;double average;printf("input six number as score:\\n");for( i=0;i<6;i++)scanf("%d", &a[i]);max=a[0];for( i=0;i<5;i++){ if(a[i+1]>max)max=a[i+1];} printf("the highest grade is %d\\n",max...

程序性知识名词解释
学习者需要了解如何捕获和处理异常,以便编写稳健的、健壮的程序。这些名词和概念构成了程序性知识的基础,掌握了这些知识,学习者能够编写出高效、稳定和可维护的程序。在学习程序性知识时,实践和练习是非常重要的,只有通过不断的实际操作,学习者才能真正掌握这些知识,并将其转化为实际的编程能力。

C语言编写程序还需要什么知识?
回答的好请采纳哦!!大哥,根据你的描述,我觉得以下几点重要:1.C语言的指针和面向过程的设计思想(可以说“不懂指针,白学C语言”行话)2.算法技巧(这个是最实用的、也最难的)3.像操作系统之类的东东,我实话实说,不是我贬低自己的国家,事实上开发这一块相当困难,许多代码只要相互抄抄背背就...

能用vb的知识回答: . 编写程序:设计一个个人纳税计算程序。
Dim taxpoint As Variant Dim tax, money As Double taxpoint = Array(0, 500, 2000, 5000, 20000, 40000, 60000, 80000, 100000)For i = 1 To 8 If money <= taxpoint(i) Then tax = tax + (money - taxpoint(i - 1)) * i * 0.05 Exit For Else tax = tax + (taxpoint...

什么叫编程?编程课是指什么??
编程是编定程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。编程课是老师教授计算机编程知识的课程。大学中则常常以C语言作为编程的入门语言, BASIC是Beginner's All-purpose symbolic instruction Code(初学者...

编写一个验证密码的程序,用C语言的数组相关知识解答,最好有注释_百度知...
str1,str2);\/\/比较,输入密码和已知密码相等,k=0 ++flag;\/\/计数器加1 if(!k){ printf("欢迎使用\\n");break;} else if(k&&flag!=3) printf("密码输入错误,请再次输入:\\n");if(flag==3)\/\/当输入超过三次,跳出循环,结束程序 { printf("对不起,您无权使用");break;} } } ...

大学c语言框架梳理基础知识要打牢
第3步:编写代码 在程序有了清晰的设计后,就可以通过编写代码来实现它了。也就是说,将你的设计构思转变为 C 语言。这里是你真正需要使用 C 识的地方。你可以在纸上勾画你的想法,但最终必须将代码输入计算机。一般来说,需要使用文本编辑器来创建一种称为源代码的文件,该文件包含你的程序设计的的 C 实现形式。

魏县18714826271: C++知识:编写程序将两个按照字母顺序排列的任意字符串进行合并... -
军葛返魂: /*C++知识:编写程序将两个按照字母顺序排列的任意字符串进行合并,合并后的字符串依然按照字母顺序排列,如achk和bfg合并后应为abcfghk. */#include <fstream>#include <iostream> using namespace std; int gl(char*c) {int i=1; while(c[i-1]!...

魏县18714826271: 用c++编写一个程序 任意输入两个字母 输出它们对应的ASCII码 谢谢 -
军葛返魂:#include using namespace std; int main(){char a,b;cin>>a;cin>>b;cout< cout< return 0; }

魏县18714826271: C++输入一个字符串,将它们按照字母由小到大的顺序排列并输出
军葛返魂: <p></p> <p>#include<iostream></p> <p>#include<cstring></p> <p>using namespace std;</p> <p>void main()</p> <p>{</p> <p> char str[1000],temp;</p> <p> int i,j,len;</p> <p> gets(str);</p> <p> len=strlen(str);</p> <p> for(i=0;i<len-1;i++)</p> <p>...

魏县18714826271: 如何用C++来编写离两个字母距离相等的程序 -
军葛返魂: 1、不知道你的程序是否要考虑大小写?如果不考虑大小写,则需要在这之前全部转化成大写或者小写. 2、主要的步骤如下: //假设left 和 right 分别是两个字母,如果不考虑大小写则需要一步转化,这里不写了 if (abs(right - left)

魏县18714826271: 编写程序c++语言定义两个字符数组存放于键盘输入两个字符串,将他们连接起来输出 -
军葛返魂: #include "stdio.h"#include "string.h"void main(){ char str1[100]; char str2[100]; printf("请输入str1"); gets(str1); printf("请输入str2"); gets(str2); strcat(str1,str2); puts(str1);}

魏县18714826271: 编写一个C++程序,任意从键盘输入两个字符,能将他们按由大到小的顺序输出 -
军葛返魂: #include<iostream>using namespace std;void Swap(char & a, char & b) { if(a>b) { cout << a<<","<<b<<endl; } else { cout << b<<","<<a<<endl; } }int main() { char a, b; cin>>a>>b; Swap(a,b); return 0; }

魏县18714826271: C++ 编写一个程序,将一个包含大小写字母的纯字母明文串转换为纯大写字母的加密串输出. -
军葛返魂: #includeusing namespace std; int i; void main(void) { void process(char s[],char s1[]); void show(char s[],char s1[]); char s[20]; char s1[20]; process(s,s1); show(s,s1); } void process(char s[],char s1[]) { i=0; while ((s[i]=getchar())!='\n'&&i='a' && s[i]'z' && s1[i]'z'&& s1[i]

魏县18714826271: c++中,编写一个程序,将两个字符串了连接起来,结果取代第一个字符串.要求用string方法. -
军葛返魂: std::string a= "0123"; std::string b = "4567"; a = a + b;

魏县18714826271: c++大小写英文字母互换的程序 -
军葛返魂: #include <iostream.h> void main() { int i; char ch; cout<<"您输入的是大写字母还是小写字母?大写请先输入1,小写请输入-1!"<<endl; cin>>i; if(i==1) { cout<<"请输入你想输入的大写字母Ch "; cin>>ch; while(ch>='A'&&ch<='Z') { ch=ch+32; cout...

魏县18714826271: 编程实现两字符串连接C++ -
军葛返魂: 既然楼上用了while 那么我也用下把 来个更简洁的#include <iostream> using namespace std; int main() { char str_a[32] = "Hello!"; char str_b[16] = "www.baidu.com"; int i=0, j=0; while(str_a[i++]); i--; while(str_a[i++]=str_b[j++]); cout << str_a << endl; return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网