#include &ltstring.h&gt
int main()
{
char a[100]
int i=0,l,b=0
scanf("%s",a)
l=strlen(a)
for(i&ltli++)
{
if(a[i]=='-')
{
for(bb&ltib++)
printf("%c",a[b])
if((a[i+1]&gta[i-1])&amp&amp((a[i+1]&lt='z')&amp&amp(a[i-1]&gt='a')||(a[i+1]&lt='9')&amp&amp(a[i-1]&gt='1')||(a[i+1]&lt='Z')&amp&amp(a[i-1]&gt='A')))
{
for(char j=a[i-1]+1j&lt=a[i+1]j++)
printf("%c",j)
}
else
printf("%c%c%c",a[i-1],a[i],a[i+1])
b=i+2
}
}
return 0
}
基本方法说明:
在一个有序线性表中插入一个元素,使其依然有序,那递增有序线性表来说
for example:
x插入a b之间时 应满足x<=b&&x>=a;
根据这个原理我们在搜索一个链表适合插入x节的位置时应该至少知道两个值,
即链表的a节的值和b节的值(只有一个节点的链表另当别论。。。。)
那么 就有这样的算法:
已知头结点h
设 同类型节点 p和q
p=h->nextq=p
while(p!=NULL)
{
if(x>=q->data&&x<=p->data)//q->data是数据。。。。x是要插入的数值
{
node *t=(node*)malloc(sizeof(node))//新建一个节点t
t->data=x
t->next=q->next
q->next=t
}
else
{
q=p
p=p->next
}
}
不是 .size的问题 是程序代码有问题。
参考下这个 很详细
#include <iostream>#include <string>
using namespace std
int main(){
string s1/////指定串,可根据要求替换
string s2////要查找的串,可根据要求替换
string s3//替换字符串
int n//次数
cin>>n
while (n>0)
{
cin>>s1>>s2>>s3
int pos
pos = s1.find(s2)//查找指定的串,pos 是在s1 字符串中找到 s2字符串,返回的下标索引位置
while (pos != -1)
{
s1.replace(pos,s2.length(),s3)//用新的串替换掉指定的串
pos = s1.find(s2)//继续查找指定的串,直到所有的都找到为止
}
cout<<s1<<endl
n--
}
char pause
std::cin>> pause//暂停下 为了看显示
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)