将一个字符串插入到另一个字符串的指定位置的题目(用C语言解决) 是用C语言编 编写程序将一个字符串插入到另一个字符串的指定位...
\u5c06\u4e00\u4e2a\u5b57\u7b26\u4e32\u63d2\u5165\u5230\u53e6\u4e00\u4e2a\u5b57\u7b26\u4e32\u7684\u6307\u5b9a\u4f4d\u7f6e\u3002c\u8bed\u8a00\u7f16\u5199\u5c06\u6307\u5b9a\u4f4d\u7f6e\u4ee5\u540e\u7684\u5b57\u7b26\u5206\u522b\u5f80\u540e\u79fb\u4e00\u4e2a\u4f4d\u7f6e\uff0c\u518d\u5c06\u8981\u63d2\u5165\u7684\u5b57\u7b26\u4e32\u653e\u5230\u6307\u5b9a\u4f4d\u7f6e\u5c31\u884c\u4e86\uff0c\u522b\u5fd8\u4e86\u6700\u540e\u4e00\u4e2a\u5b57\u7b26\u8981\u8d4b\u4e3a'\0\u2019\u54e6\u4eb2\uff5e\uff5e\u4ee3\u7801\u5982\u4e0b\uff0c\u4ec5\u4f9b\u53c2\u8003\uff5e
void insert(char * str,char c,int position)
{
int i;
int len=strlen(str);
for (i=strlen(str)-1;i>=position;i--)
{
str[i+1]=str[i];
}
str[position]=c;
str[len+1]='\0';
}
str\u5c31\u662f\u9700\u8981\u63d2\u5165\u7684\u5b57\u7b26\u4e32\uff0cc\u662f\u9700\u8981\u63d2\u5165\u7684\u5b57\u7b26\uff0cposition\u662f\u63d2\u5165\u7684\u4f4d\u7f6e\uff0c\u5373\u5b57\u7b26\u7684\u4e0b\u6807\uff08\u4ece0\u5f00\u59cb\uff09
\u563f\u563f\uff0c\u5e0c\u671b\u5bf9\u4f60\u6709\u7528\u54e6\uff5e\uff5e
void InsertString(char *s1,char s2[],int i)//s1\u7b49\u4ef7\u4e0e\u4f60\u9898\u76ee\u4e2d\u7684"12345",s2\u7b49\u4ef7\u4e0e\u4f60\u9898\u76ee\u4e2d\u7684"ABC",i\u662f\u8981\u63d2\u5165\u7684\u4f4d\u7f6e{int j,k;char temp[1000];//\u4ee5\u4e0b\uff1a\u5c06s1\u7b2ci\u4f4d\u524d\u7684\u5b57\u7b26\u590d\u5236\u5230temp\u4e2dfor(j=0;j<i-1;j++)temp[j]=s1[j];//\u4ee5\u4e0b\uff1a\u5c06s2\u590d\u5236\u5230temp\u5c3e\u90e8j--;k=0;while(s2[k]!='\0'){j++;temp[j]=s2[k];k++;}//\u4ee5\u4e0b\uff1a\u5c06s1\u7b2ci\u4f4d\u540e\u590d\u5236\u5230temp\u5c3e\u90e8k=i-1;while(s1[k]!='\0'){j++;temp[j]=s1[k];k++;}//\u4ee5\u4e0b\uff1a\u7ed9temp\u5b57\u7b26\u4e32\u6dfb\u52a0\u7ed3\u675f\u7b26j++;temp[j]='\0';//\u4ee5\u4e0b\uff1a\u5c06temp\u5b57\u7b26\u4e32\u590d\u5236\u7ed9s1
1、参数2去掉与参数1相同的字符串。
2、从指定位置截取字符串的指定长度。
3、从字符串中找到指定字符串的位置后一位开始到结束的字符串。
4、从指定的位置开始截取字符串到字符串结尾处。
5、从字符串找到指定字符串开始截取字符串的结尾。
6、从开始到指定字符串的文件的字符串截取。
7、截取指定2个字符之间的字符串,组合成数组。
void Insert(char*s1,char*s2,int n)
{
char*result=(char*)malloc(20*sizeof(char));
char*temp=result;//保存result的初始地址,因为后面要改变result
//把s1的一部分赋给result
for(int i=0;i<n;i++)
{
*result=*(s1++);
result++;
}
//把s2的所有内容赋给result
while(*s2!='\0')
{
*result=*(s2++);
result++;
}
*result='\0';//字符串结束符
printf("%s
",temp);
}
int main()
{
char*s1=(char*)malloc(20*sizeof(char));
char*s2=(char*)malloc(20*sizeof(char));
int n;
printf("请输入第一个字符串:");
scanf("%s",s1);
printf("请输入第二个字符串:");
scanf("%s",s2);
printf("请输入插入的位置:");
scanf("%d",&n);
Insert(s1,s2,n);
getchar();
system("pause");
return 0;
}
示例运行结果:
请输入第一个字符串:You are ok
请输入第二个字符串:fine and
请输入插入的位置:8
You are fine and ok
请按任意键继续…
扩展资料:
char用法:
C语言中char用于定义字符类型变量或字符指针变量,例如“char a;”则定义了变量a是字符类型,“char*a;”则定义了变量a是字符指针类型。
char是C语言整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中不指定为signed/unsigned,编译器可以实现为带符号的,也可以实现为不带符号的。
关于char还有一个特殊的语言就是char*,它在C语言中有专门的语义,既不同于signed char*,也不同于unsigned char*,专门用于指以'\0'为结束的字符串。
#include <stdio.h>
#include <string>
using namespace std;
void Insert(char* s1,char* s2,int n)
{
char *result = (char*)malloc(20*sizeof(char));
char *temp = result; //保存result的初始地址,因为后面要改变result
//把s1的一部分赋给result
for(int i=0; i<n; i++)
{
*result = *(s1++);
result++;
}
//把s2的所有内容赋给result
while(*s2 != '\0')
{
*result = *(s2++);
result++;
}
*result = '\0'; //字符串结束符
printf("%s",temp);
}
int main()
{
char *s1 = (char*)malloc(20*sizeof(char));
char *s2 = (char*)malloc(20*sizeof(char));
int n;
printf("请输入第一个字符串:");
scanf("%s",s1);
printf("请输入第二个字符串:");
scanf("%s",s2);
printf("请输入插入的位置:");
scanf("%d",&n);
Insert(s1,s2,n);
return 0;
}
编译通过!!有什么不懂可以问我哈
#include<stdio.h>
#include<string.h>
void main()
{
char ch[40],ch2[20],ch3[20],i,j,temp,x;
printf("请输入第一串字符:");
gets(ch);
printf("请输入第二串字符:");
gets(ch2);
printf("请输入插入的位置:");
scanf("%d",&i);
temp = i;
for(j=0;ch[temp] != '\0';j++,temp++)
ch3[j] = ch[temp];
ch3[j]='\0';
for(j=0;j<strlen(ch);j++,i++)
ch[i] = ch2[j];
strcat(ch,ch3);
ch[i] = '\0';
puts(ch);
}
绛旓細鎸夌収浣犺鐨,鏈濂界敤瀛楃鏁扮粍鏉ュ瓨鏀惧瓧绗︿覆杩欐牱瀛楃鏁扮粍鍚嶅氨鏄繖涓瓧绗︿覆鐨勬寚閽堜簡,鎸囧畾浣嶇疆灏卞彲浠ョ洿鎺ョ敤鎸囬拡鍔犲亸绉婚噺鏉ョ‘瀹氫緥濡俢har a[100]="fjalsdjflasjfljasdljf";char b[100]="djdfoaegksdalgslj";鍋囪灏嗗瓧绗︿覆b鎻掑叆鍒板瓧绗︿覆a鐨勭鍗佷綅涔嬪悗(鎻掑叆鐨勪綅缃秴杩囧瓧绗︿覆a鐨勯暱搴﹀氨娌℃湁鎰忎箟浜)棣栧厛涓哄瓧绗︿覆b鑵惧嚭绌...
绛旓細1銆佸弬鏁2鍘绘帀涓庡弬鏁1鐩稿悓鐨勫瓧绗︿覆銆2銆佷粠鎸囧畾浣嶇疆鎴彇瀛楃涓茬殑鎸囧畾闀垮害銆3銆佷粠瀛楃涓蹭腑鎵惧埌鎸囧畾瀛楃涓茬殑浣嶇疆鍚庝竴浣嶅紑濮嬪埌缁撴潫鐨勫瓧绗︿覆銆4銆佷粠鎸囧畾鐨勪綅缃紑濮嬫埅鍙栧瓧绗︿覆鍒板瓧绗︿覆缁撳熬澶勩5銆佷粠瀛楃涓叉壘鍒版寚瀹氬瓧绗︿覆寮濮嬫埅鍙栧瓧绗︿覆鐨勭粨灏俱6銆佷粠寮濮嬪埌鎸囧畾瀛楃涓茬殑鏂囦欢鐨勫瓧绗︿覆鎴彇銆7銆佹埅鍙栨寚瀹2涓瓧绗...
绛旓細int len1,len2;int i,j,k,l;char c[100];len1=strlen(a);len2=strlen(b);for(i=0;i<t-1;i++)c[i]=a[i];for(j=0;j<len2;j++)c[i+j]=b[j];l=0;for(k=t-1;k<len1;k++){ c[i+j+l]=a[k];l++;} c[i+j+l]='\0';puts(c);} ...
绛旓細灏嗘寚瀹氫綅缃互鍚庣殑瀛楃鍒嗗埆寰鍚庣Щ涓涓綅缃紝鍐嶅皢瑕佹彃鍏ョ殑瀛楃涓叉斁鍒版寚瀹氫綅缃氨琛屼簡锛屽埆蹇樹簡鏈鍚庝竴涓瓧绗﹁璧嬩负'\0鈥欏摝浜诧綖锝炰唬鐮佸涓嬶紝浠呬緵鍙傝冿綖void insert(char * str,char c,int position){ int i;int len=strlen(str);for (i=strlen(str)-1;i>=position;i--){ str[i+1]=str[i];...
绛旓細瑙e喅鍔炴硶鏈変笁绉嶏細1銆佺敤 join() 鍑芥暟锛屼絾鎴戝彂鐜颁娇鐢╦oin鍑芥暟瑕佹眰鍒楄〃涓殑鍏冪礌閮芥槸瀛楃涓诧紝鎵浠ラ渶瑕佸皢鍒楄〃涓殑鍏冪礌閮借浆鎹负瀛楃涓銆俛 = [1,2,3,4,5]a = [str(i) for i in a]b = int(''.join(a))print(b)2銆佺敤 sum() 鍑芥暟姹傚拰锛岄偅灏遍渶瑕佸姣忎釜鍏冪礌鐨勫崄鍒嗕綅鍜岀櫨鍒嗕綅鎴栬呭崈鍒嗕綅杩涜...
绛旓細涓嬪浘涓殑浠g爜娈垫槸const灞炴т紶閫掔粰闈瀋onst寮曠敤锛岃涓嬪浘锛岃浆鍒颁笅闈㈢殑姝ラ銆6銆佺鍏锛 瀹屾垚涓婅堪姝ラ鍚庯紝鈥渟td :: move鈥濆彲浠ュ皢宸﹀兼垨鍙冲艰浆鎹负鍙冲煎紩鐢ㄣ 杞崲鍚庯紝灏嗘棤娉曞啀浣跨敤鍘熷鍊笺 濡備笅鎵绀哄皢瀛楃涓茬Щ鍔鍒板彟涓涓瓧绗︿覆锛屽苟涓斾笉鍐嶅彲浠ヤ娇鐢ㄥ師濮嬪瓧绗︿覆鍙橀噺锛岃涓嬪浘銆傝繖鏍凤紝灏辫В鍐充簡杩欎釜闂浜嗐
绛旓細棣栧厛涓瀛楃涓b鑵惧嚭绌轰綅 int len=strlen(b);for(int i=0;i<len;i++){ (a+10+len+i) = *(a+10+i);} 鐒跺悗灏哹鎻掑叆鍒鑵惧嚭鏉ョ殑绌轰綅鍗冲彲 for(int j=0;j<len;j++){ (a+10+j) = b[j];} 杩欎釜鏄渶鍘熺悊鐨勪笢瑗匡紝濡傛灉浣犺兘鐞嗚В杩欎釜锛岄偅涔堝悗涓や釜for寰幆鍏跺疄鍙互鍚堝苟涓轰竴涓,鍏ㄩ儴浠g爜涓 ...
绛旓細strcpy(src+loca-1,dest);//鎶妉oca鍚庨潰鐨瀛楃涓鏆傚瓨璧锋潵 loca=strlen(src);//local涓虹幇鍦╯rc鐨勯暱搴 strcpy(src+loca,temp);//杩樺師src浠巐oca浣嶇疆寮濮嬬殑瀛楃涓 } void main(){ char src[100];char dest[100];int loca=0;printf("Please input src:");gets(src);printf("Please input dest:...
绛旓細1銆侀鍏堝湪C璇█涓紝string.h涓殑_strrev鍑芥暟锛屽0鏄庡舰寮忓涓嬨2銆佷娇鐢╛strrev鍑芥暟锛岃繘琛岀ず渚嬩唬鐮佸睍绀猴紝濡備笅鍥炬墍绀恒3銆佸浜巗tring褰㈠紡鐨瀛楃涓鍙橀噺锛屼娇鐢╮everse鍑芥暟锛屽0鏄庡舰寮忓涓嬨4銆佺劧鍚庝娇鐢╮everse鍑芥暟锛岃繘琛屼唬鐮佺ず渚嬪睍绀猴紝濡備笅鍥炬墍绀恒5銆佽嚜宸辩紪鍐欏瓧绗︿覆鍙嶈浆鍑芥暟锛岃繘琛岀ず渚嬩唬鐮佸睍绀猴紝濡備笅鍥炬墍绀哄氨瀹屾垚浜...
绛旓細void insert(char a[],char b[],int t);char a[100],b[100];int t,i,j;printf("input a string:\n");gets(a);printf("inut b string:\n");gets(b);printf("input the position to insert:\n");scanf("%d",&t);if(t<=0 || t>strlen(a)+1){ printf("wrong!.input ...