输入一个字符串,在指定位置插入一个字符的c语言怎么写?

作者&投稿:匡炭 (若有异议请与网页底部的电邮联系)
c语言输入一个字符串,如何在指定位置插入一个字符?~

也许用链表比较好实现,下面是用数组实现的程序:
#include
#include
main()
{ int i,j,k,m,n;
char a[100],b[100],c;
gets(a);
gets(b);
c=getchar();
m=strlen(a);
for(i=0;i<m;i++)
{if(a[i]==c) break; }
if(i>=m)
{printf("出错!
"); return; }
n=strlen(b);
k=m;
for(j=m+n;j>i;j--,k--)
a[j]=a[k];
for(j=i,k=0;j<n+i;j++,k++)
a[j]=b[k];
printf("%s
",a);
}
设计过程:
定义两个字符串s2,s2,字符k
输入两个字符串 s1 、 s2 和 s1 中任意字符 k
先遍历 s1 找到指定字符 k,记录下当前位置
从k字符开始,按s2的长度后移其余的数据
将s2拷贝到k所在的位置
输出s1。
代码如下:
#include
#include
void main(){
char s1[100];
char s2[20];
char k;
int i,pos,len;
printf("input s1: ");scanf("%s", s1 );
printf("input s2: ");scanf("%s", s2 );
getchar();//滤掉回车符
printf("input k: ");scanf("%c", &k );
for( i=0;s1[i];i++ )
if ( s1[i]==k )
break;
}
pos=i; //记录下待插入的位置
len=strlen(s2); //得到s2长度
for( i=strlen(s1);i>=pos;i-- ) //后移字符串
{
s1[i+len]=s1[i];
}
strncpy( &s1[pos], s2, len ); //插入数据
printf("%s
", s1 ); //输出字符串
}

#include "stdio.h"
#include
int main()
{
int i,j=0,len1,len2,d=0;
char s[200]={0},s1[100],s2[100],k;
printf("Input string s1:");
scanf("%s",s1);
printf("Input string s2:");
scanf("%s",s2);
printf("Input char k:");
getchar();
k=getchar();
len1=strlen(s1);
len2=strlen(s2);
for(i=0;i<len1+d;i++)
{
if(s1[i]==k && d==0)
{
for(j=0;j<len2;j++)
s[i+j]=s2[j];
d=1;
}
else
s[i+j-d]=s1[i-d];
}
s[i+j-d]='\0';
printf("%s
",s);
return 0;
}

#include <stdio.h>

#include <string.h>

//输入一个字符串,在指定位置插入一个字符的c语言怎么写

void insertCharacter(char a[], int n,char c);

void print(char a[]);

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

char a[100];

char c;

int n;

printf("请输入一个字符串:\n");

gets(a);

printf("请输入你要插入的位置,要插入的字符:\n");//下标从0开始 输入空格隔开

scanf("%d %c", &n, &c);

insertCharacter(a, n, c);

print(a);

return 0;

}

void insertCharacter(char a[], int n, char c)

{

int i;

for (i = strlen(a)+1; i >n ; i--) {

a[i]=a[i-1];

}

a[n] = c;

}

void print(char a[])

{

int i;

for (i = 0; i < strlen(a); i++) {

printf("%c", a[i]);

}

}


用C++编程:输入一个字符串和字符,指出该字符串第一次出现的位置_百度知 ...
include<iostream> include<string.h> using namespace std;int main(){ string str;cin>>str;char ch;cin>>ch;int length = str.length();for(int i = 0; i < length; i++){ if(str[i] == ch)cout<<"the position is "<<i + 1<<endl;} return 0;} ...

C++ 输入一个字符串,,统计出某个指定的字符在该字符串中出现的...
include<iostream> include<string> using namespace std;void main(){ char *p,a[81];int n,i;cout<<"请输入一个字符串:"<<endl;cin.getline(a,81);char search;cout<<"请输入要检索的字符:"<<endl;cin>>search;p=a;n=0;for(i=0;i<strlen(a);i++){ if(search==*p)n++;p...

4. 输入一个字符串,判断该字符串是否一个11位的手机号码,并输出.(用...
include<stdio.h>int main(){char s[20],*p; scanf("%s",s); for(p=s;*p&&*p>='0'&&*p<='9';p++); printf("%s%s是一个11位的手机号码\\n",s,(s[0]=='1'&&p-s==11&&!*p)?"":"不"); return 0;}

c 语言输入一个字符串,将其中的数字字符组成一个数字?(用指针函数)_百...
代码文本:include "stdio.h"int f(char *p){ int s;for(s=0;*p;p++)if(*p>='0' && *p<='9')(s*=10)+=*p-'0';return s;} int main(int argc,char *argv[]){ char a[30];printf("Please enter a string contains Numbers...\\n");scanf("%29s",a);printf("The result...

如何用c语言编写一个程序:输入字符串,统计出某指定字符在字符串中出现...
else if(48<=i<=57)\\x0d\\x0a c++;\\x0d\\x0a else\\x0d\\x0a d++;\\x0d\\x0a printf("所输入的字符串中英文字符有%d个,空格有%d个,数字有%d个,其它字符有%d个,总共%d个!\\n",a,b,c,d,n);\\x0d\\x0a return 0;\\x0d\\x0a} ...

c语言 输入一个字符串,将该字符串中从第m个字符开始的全部字符复制到另...
char a[N], b[N];\/\/定义两个长度相同的数组 cout << "请输入字符串:";gets_s(a);\/\/按照提示:利用字符输入函数进行字符串输入并存到a数组中 cout << "请输入m:";cin >> m;\/\/按照提示:输入指定复制元素起始坐标 for (i = 0; b[i - 1] != '\\0'; i++)\/\/遍历从指定元素...

c语言入一个字符串,要求在字符串末尾插入字符'A',然后输出字符串
1 #include<stdio.h> 2 #include<string.h> 3 4 int main(void){ 5 printf("请输入字符串:\\n");6 char str[100]={};7 scanf("%s",str);8 strcat(str,"A"); \/\/将A拼接到str后 9 printf("%s\\n",str);10 } 结果:请输入字符串:afag afagA ...

C++指针变量:输入一个字符串,删除字符串中所有空格,输出删除空格后字符...
\/\/#include "stdafx.h"\/\/vc++6.0加上这一行.#include <iostream>using namespace std;void input(char *str){ int i=0,ch; while(ch=getchar(),ch!='\\n') str[i++]=ch; str[i]='\\0';}void trim(char *str){ for(int i=0,j=0;str[i];i++) if(str...

c语言 求解答 1,定义一个字符串,用指针的方法实现,输出第m个元素,并...
include <stdio.h>#include <stdlib.h>int main(){ char as[1000]; gets(as); int m; scanf("%d",&m); char *p=as; printf("%c",*(p+m-1)); return 0;}

编写程序,输入一个字符串,计算出这个字符串的长度(要求不能使用strlen...
1指针,int Mystrlen(const char * string){ int i=0;while(*(string+i)) i++;return i;} 2数组,int Mystrlen(const char string[]){ int i=0;while(string[i]) i++;return i;}

德格县19428486066: 输入一个字符串,在指定位置插入一个字符 -
苗肺曲安: 可以写一个函数: void insert_c(char *s, char x, int location){} 参数 *s 是 字符串 location 是 指定位置 (0起算),超出字符串长度则加在尾部. x 是 要插入的字符.#include <stdio.h> void insert_c(char *s, char x, int location){ int L,i; L = strlen(s);...

德格县19428486066: 一个字符串的某个位置上插入一个字符 C语言
苗肺曲安: #include <stdio.h> #include <string.h> char *insert(char src[], int pos, char ch) { int i, len = strlen(src); for (i = len; i >= pos; i--) { src[i] = src[i-1]; } src[pos-1] = ch; return src; } int main(int argc, char* argv[]) { char s[20] = {"sdsfef"}; printf("%s\n", s); ...

德格县19428486066: c语言,输入一个字符串,选择一个位置插入一个字符,并输出. -
苗肺曲安: for ( i=0;string[i]!='\0';i++); // 分号去掉 '\0' 不好判断.scanf 读不进 '\n' ,遇到 '\n' 要你再输入东西. 改用 getchar() 较好. #include#include main(){ char s[100]; int i; printf("enter a string:"); i=0; while(1){ s[i]=getchar(); if (s[i]=='\n')break; i++; } s[i] ='\0'; printf("%s",s); }

德格县19428486066: C语言怎样快速在字符串的指定位置插入字符 -
苗肺曲安: 用串S拷贝出另一个串T,对串T从头至尾扫描,对非数字字符原样写入串S,对于数字字符先写一个$符号再写该数字字符,最后,在S串尾加结束标志.使用此方法是牺牲空间,赢得时间. #include <stdio.h> int fun(char *s) {char t[80];int i, j;...

德格县19428486066: SQL 在一字符串中某一位中插入字符 -
苗肺曲安: 用stuff函数,很轻松实现:update a set b=stuff(b,3,0,'d'),函数解释:stuff(str1,str2,str3,str4),str1为要操作的字符串,str2为起始位,str3为取的长度,str4为要插入的新字符.上面操作的解释就是:在A表的B列中,从第三位开始,删除0位,然后插入字符D.

德格县19428486066: java中如何在一个字符串中找到指定一个位置,然后在后面加上一个字符? -
苗肺曲安: string[] temp = new string[2]; if(str.lastindexof("-")!=-1){ temp[0] = str.substring(0, str.lastindexof("-")); temp[1] = str.substring(str.lastindexof("-")+1, str.length()); }

德格县19428486066: C语言编程:将一个字符插入到字符串中的指定位置 -
苗肺曲安: Description:把字符串截取成2段,将指定字符插入,让你将它们再连接. #include #include int main(void) { char str[256],s1[256],s2[256]; char ch; int i,j=0,k=0; printf("输入字符串:\n"); gets(str); printf("输入要插入的字符和位置:\n"); scanf("%c%d",ch,n); for(i=0;i

德格县19428486066: C语言之在指定位置插入字符 -
苗肺曲安: #include"stdio.h" void main() {char C[100];//原始字符串char D[100];//最终字符串char b;//插入的字符int i = 0;int s;char *p = C;printf("输入字符串,“#”结束\n");char a = 'a'; //输入字符串,以#结尾,最后将#改为'\0'while (a !...

德格县19428486066: c语言如何在指定的字符串中的位置插入另一字符串,比如输入字符串qwr和字符串asd,插入位置2,结 -
苗肺曲安: char a[200]; char b[50]; char c[200]; gets(a); b="asd"; int n=2; int k=0; for (int i=0;i<n;i++) { c[k++]=a[i]; } for(int i=0;b[i]!='\0';i++) { c[k++]=b[i]; } for(int i=n;a[i]!='\0',i++) { c[k++]=a[i]; } c[k]='\0'; printf("%s",c);----------自己懂大概意思就行了..代码自己调试..

德格县19428486066: 在字符串指定位置插入符号 -
苗肺曲安: 你的意思是不是1、空格换为逗号2、数字用双引号引起来3、英文字符串前加逗号 不明白汉字你要怎么处理?你表达问题不清楚. Dim data1() As String data1 = Split(textstr, " ") x = UBound(data1) for i=0 to x if IsNumeric(data1(i)) then data1(i)="""" & data1(i) & """" s=s & data1(i) & "," next

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