#include "asendbytimes.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int comp(const void*a, const void * b)
{
return *(int*)a -*(int*)b;
}
bool asendbytimes(char * in, char*out)
{
if(NULL == in || NULL ==out)
{
return false;
}
printf("\nIN=%s, OUT=%s", in, out);
int arr[150]={0};
int arr_b[150]={0};
int i=0;
int index =0;
printf("\n==\n");
/*
for(i=0; i<=149;i++)
{
printf("%d ",arr[i]+1);
}
*/
for(i=0; i< strlen(in); i++)
{
//index = (int)in[i];
arr[in[i]]++;
arr_b[in[i]]++;
printf("\nindex=[%d],ch=%c,arr[in[i]]=%d)",i,in[i],arr[in[i]]);
}
for(i=0;i< 150; i++)
{
if(arr[i] != 0)
{
printf("\narr[%d]=%d",i,arr[i]);
}
}
/*
_CRTIMP void __cdecl qsort(__inout_bcount(_NumOfElements * _SizeOfElements) void * _Base,
__in size_t _NumOfElements, __in size_t _SizeOfElements,
__in int (__cdecl * _PtFuncCompare)(const void *, const void *));
*/
qsort(arr, 150, sizeof(int), comp );
int k=0;
bool c[150]={false};
char string[10];
char newout[200]={};
int out_index=0;
for(i=0;i< 150; i++)
{
for(k=0; k <150; k++)
if(arr[i] != 0 && arr[i]==arr_b[k] && c[k] == false)
{
printf("\n arr[%d]=%d, k=%d,char=%c",i,arr[i],k,k);
newout[out_index++]=k;
c[k] =true;
}
}
newout[out_index]='\0';
printf("\nout=%s\n",newout);
strcpy(out,newout);
printf("\nout111111111=%s,%s",out,newout);
return true;
}
/*
void CExampleTest::TestCase01()
{
bool ret = false;
char pInStr[200] = {"aAaAa"};
char pOutStr[200]={};
ret = asendbytimes(pInStr, pOutStr);
CPPUNIT_ASSERT(true == ret);
CPPUNIT_ASSERT(0 == strcmp(pOutStr, "Aa"));
}
void CExampleTest::TestCase02()
{
bool ret = false;
char pInStr[] = {"ddaAaAacc"};
char pOutStr[200] = {};
ret = asendbytimes(pInStr, pOutStr);
printf("\npOUt=%s",pOutStr);
char act[100]={"Acda"};
CPPUNIT_ASSERT(true == ret);
CPPUNIT_ASSERT(0 == strcmp(pOutStr, act));
}
*/
和回文数
#include "huiwenshu.h"
#include <stdio.h>
#include <string.h>
bool func(char * IN)
{
if(NULL == IN)
{
return false;
}
printf("\nIN=%s", IN);
int i=0,j=0;
j=strlen(IN)-1;
while(i<=j)
{
printf("\n%c,%c",IN[i], IN[j]);
if(IN[i++] != IN[j--])
{
return false;
}
}
return true;
}
/*
void CExampleTest::TestCase09()
{
bool ret = false;
char pInStr[] = {"1436341"};
ret = func(pInStr);
CPPUNIT_ASSERT(true == ret);
}
void CExampleTest::TestCase10()
{
bool ret = false;
char pInStr[] = {"AbCbA"};
ret = func(pInStr);
CPPUNIT_ASSERT(true == ret);
}
void CExampleTest::TestCase11()
{
bool ret = false;
char pInStr[] = {"ABCbA"};
ret = func(pInStr);
CPPUNIT_ASSERT(false == ret);
}
void CExampleTest::TestCase12()
{
bool ret = false;
char pInStr[] = {"788887"};
ret = func(pInStr);
CPPUNIT_ASSERT(true == ret);
}
void CExampleTest::TestCase13()
{
bool ret = false;
char pInStr[] = {"zxcdfe"};
ret = func(pInStr);
CPPUNIT_ASSERT(false == ret);
}
*/