编写一个程序,将字符串中的第m个字符开始的全部字符复制到另一个字符串

编写一个程序,将字符串中的第m个字符开始的全部字符复制到另一个字符串。~

代码如下:
#include
#include
int copy(char *p1,char *p2,int m);
int main()
{
char str1[40],str2[40];
printf("输入第一个字符串:
");
gets(str1);
int m;
printf("输入第m个字符开始:
");
scanf("%d",&m);
if(strlen(str1)<m)
printf("错误");
else
{
copy(str1,str2,m);
printf("%s",str2);
}

return 0;
}
int copy(char *p1,char *p2,int m)
{
int n;
n=0;
while(n<m-1)
{
n++;
p1++;
}
while(*p1!='\0')
{
*p2=*p1;

p1++;
p2++;
}
}

扩展资料
字符串一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。
两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

代码如下:
#include
#include

void Replace(char *original, char *r, int start)
{
if (original == NULL || r == NULL || start < 0) return;

int i = 0;
while (original[i + start] != '\0' && r[i] != '\0')
{
original[start + i] = r[i];
i++;
}

original[start + i] = '\0';

}

int main()
{
char str[1024] = {0}; // 待复制的字符串
char replace[1024] = {0}; // 要替换成什么
int m = 0; // 第几个字符

printf("请输入源字符串:");
scanf("%s", str);
printf("请输入要替换成什么字符串:");
scanf("%s", replace);
printf("请输入从第几位开始替换:");
scanf("%d", &m);
printf("开始替换......
");
Replace(str, replace, m);
printf("替换完成,结果为:%s
", str);

return 0;
}

======================
希望符合你的要求

#include <stdio.h>
#include <string.h>

char copy(char str1[],char str2[],int m)
{
int j=0,i;
for(i=m-1;i<strlen(str1);i++)
{
str2[j++]=str1[i];
}

return str2;
}

int main()
{
char str1[10],str2[10];
int m;

printf("Enter a string:");
gets(str1);
printf("Enter m:");
scanf("%d",&m);

copy(str1,str2,m);
puts(str2);

return 0;
}

1.编写一个程序实现以下功能:从键盘输入一个字符串,找出该字符串中的...
答:前提是有且仅有一个最大值,如有不明可留言 include "stdio.h"define N 1000 void main(){ char str[N];char str1[N];char max;int save;int i=0;int k=0;printf("Please input string:\n");gets(str);max=str[i];for(i=0;str[i]!='\0';i++){ if(max<=str[i]) { ...

编写一个程序实现以下功能,能在字符串sir中找出最大的字符并放在第一...
答:include<stdio.h> int main(){char sir[100],t;int i,j,max;gets(sir);for(max=i=0;sir[i];i++)if(sir[i]>sir[max])max=i;t=sir[max];for(i=max;i>0;i--)sir[i]=sir[i-1];sir[0]=t;puts(sir);return 0;} ...

编写程序,设计一个寻找输入字符串中字符值最大的字符,并统计其第一
答:include<stdio.h> void main(){ char str[256];int i,k,n;gets(str);i=0; k=0; n=1;while ( str[i] ){ if ( str[k]<str[i] ) { k=i; n=1; } else if ( str[k]==str[i] ) n++;i++;} printf("字符值最大字符为%c,第1次出现位置%d,出现次数%d\n",str[k]...

怎样利用c语言编写一个程序在一个字符串数组中查找一个指定的字符并输出...
答:printf("请输入字符串(少于20个字符)\n");gets(a);printf("请输入要查找字符:");scanf("%c",&c);for(i = 0;i <= strlen(a);i ++){ if(a[i] == c){ n[j++] = i;num++;} } if(num == 0)printf("没有您要查找的字符\n");else printf("您要查找的字符第一次出现...

有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部...
答:)了。 printf("input m:\n"); scanf("%d",&m); a(str); return 0;}===整体来说,你这个程序这样设计是存在问题的,比如:n=10,但str[100]里存放的字符个数却少于10个,就会产生错误。

C语言输入一串字符串从第n个字符开始截取m个字符组成一个新的字符串输 ...
答:1、我们编辑如图中输入的代码。2、进入源文件的目录下,在终端输入命令gcc -o t test.cpp。3、输入./t命令,运行生成的可执行文件。4、运行结果为baidu。5、strncpy 的函数原型char *strncpy(char *dest,char *src,size_t n),我们在复制src的前n个字符到dst中。6、如果超过src的字符串长度,...

编写程序,将从键盘输入的字符串中的最后m个字符与最前面的m个字符交换...
答:include<stdio.h>int main(){char s[100],c; int m,i,j; scanf("%s",s); scanf("%d",&m); for(i=0;s[i];i++); for(i-=m,j=0;j<m;j++,i++) {c=s[i]; s[i]=s[j]; s[j]=c;} printf("%s",s); return 0;} ...

编写函数fun(str,i,n)从字符串str中删除第i个字符开始的连续n个字符...
答:从第六个开始删除4个 asdcdggggfddddg asdcdfddddg Press any key to continue include "stdio.h"include "string.h"fun(char str[],int i,int n){ int l,t,nlen;nlen = strlen(str);for (l=0;l<nlen+1;l++){ if (l+1==i){ for (t=l;t<nlen+1;t++){ str[t]= ...

1编写一个程序进行字符串的截取,即从键盘上输入一个字符串str1,讲字符...
答:第一题:include<stdio.h> include<string.h> char *f(char *s,int m,int n);int main(void){ int m,n;char s1[20];printf("Please input m and n:");scanf("%d%d",&m,&n);printf("Please input a string:");scanf("%s",s1);printf("%s\n",f(s1,m,n));return 0;} c...

用c语言编写算法,将字符串t插入到字符串s中第i个字符位置
答:for(k=alen+blen-1;k>=blen+i-1;k--)a[k]=a[k-blen];for(k=i-1;k

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网