请完成函数subDig(),函数原型如下:
void subDig(char *s, int &sPos, int &d);
s为给定字符串,其中一定包含有子串"xyz"和刚好一个数字子串,函数计算子串"xyz"最后一次出现的位置并存入sPos,
同时计算数字子串代表的正整数的2倍值并存入d(测试数据保证不会溢出)。
例如,s为"abc123xyzabcdxyz",则sPos为13,d为246。
样例输出: 13 246
#include <iostream>
#include <cstring>
#include <sstream>
#include<cmath>
using namespace std;
int main()
{
string s="abc123xyzabcdxyz";
char sa[]="abc123xyzabcdxyz";
int p,flag,d,c1,c2,c3,fn,fn2;
for(int i=0;;i++)
{
if('0'<=s[i]&&s[i]<='9')
{
if(flag==0)
{
c1=i;
flag=1;
}
c2++;
}
if(s[i]=='\0')
{
break;
}
}
int l=strlen(sa);
for(int j=l-1;j>1;j--)
{
if((s[j]=='z')&&(s[j-1]=='y')&&(s[j-2]=='x'))
{
c3=j-2;
break;
}
}
cout<<c3<<" ";
string si;
si=s.substr(c1,c2);
stringstream ss;
ss << si;
ss >> fn;
cout<<2*fn;
}