1 给定一个字符串,把字符串里面的字母换成该字母的下一个字母a换成b,z换成a,Z换成A,字符串内的其他字符不改变,给定函数编写函数 void Stringchang(const char *input,char *output);
#include <iostream>
#include <cassert>
using namespace std;
void StringChange2(const char *input,char *output)
{
assert((input != NULL) && (output != NULL));
char *p = output;
while(*input)
{
if(((*input) >= 'A' && (*input) < 'Z') || ((*input)>='a' && (*input)<'z'))
*p = *input + 1;
else if((*input) == 'Z')
*p = 'A';
else if((*input) == 'z')
*p = 'a';
else
*p = *input;
input++;
p++;
}
*p = '\0';
}
int main()
{
char a[] = "aBf---zzZZ";
char b[10];
// Stringchang(a,b);
StringChange2(a,b);
puts(b);
return 0;
}
2.求一个整数数字钟有没有相同的部分,例如12389756123这个整数数字钟相同的部分是123,相同的部分至少应该为2位数,如果有形同部分返回1,如果没有返回0.
#include <iostream>
#include <cstdlib>
using namespace std;
int same3(int num)
{
char cvar[30];
itoa(num,cvar,10);
char *p,*q;
p = cvar;
while(*p)
{
q = &(*p)+1;
while(*q)
{
if(*p == *q)
if(*(p+1) == *(q+1))
return true;
else
q++;
else
q++;
}
p++;
}
return false;
}
int main()
{
int a = 12389231;
cout << same3(a) << endl;
return 0;
}