8. 문자열 처리와 관련된 몇 가지 프로그램

1781 단어 문자열 처리
1. 변환 문자열의 입력 형식은 다음과 같다. 원래 문자열의 문자와 +이 문자가 연속적으로 나타나는 개수, 예를 들어 문자열: 123342222, 1121324125로 전환한다.
우리는 printf를 사용하여 printf와 유사하게 실현한다.
#include "iostream"

#include "string"

using namespace std;



int main() 

{

cout << "Enter the numbers: " << endl;

string str;

cin >> str;

size_t ilength = str.length();

int icount = 1;

char cMyChar[50];

cMyChar[0] = '\0';

int k;

for (k = 0; k < ilength - 1; k++)

{

if (str[k] == str[k + 1]) //   

{

icount++; //      

}

else

{

sprintf(cMyChar + strlen(cMyChar), "%c%d", str[k], icount);

icount = 1;

}

}



if (str[k] == str[k - 1])

;

else

icount = 1;

sprintf(cMyChar + strlen(cMyChar), "%c%d", str[k], icount);

cout << cMyChar << endl;

return 1;

}


2. 정수를 문자열로 변환
#include "iostream"

using namespace std;

int main() 

{

	int iMyData;

	cin >> iMyData;

	char cToTransfer[56];

	char cTemp[56];

	int icount = 0; //    

	while(iMyData)

	{

		cTemp[icount++] = iMyData % 10 + '0';

		iMyData = iMyData / 10;

	}

	cTemp[icount] = '\0';

	cout << cTemp << endl;

	icount--;

	int j = icount, i = 0;

	while(j >=0)

	{

		cToTransfer[i++] = cTemp[j--];

	}

	cToTransfer[i] = 0;

	cout << cToTransfer << endl;

	return 1;

}


3. 문자열을 정수로 변환
#include "iostream"

using namespace std;



int main() 

{

	char iMyData[56];

	cin >> iMyData;

	int iToTransfer[56];

	int cTemp[56];

	int icount = 0; //    

    int iSum = 0;

	while(iMyData[icount])

	{

		iSum = iSum * 10 + iMyData[icount] - '0';

		icount++;

	}

	cout << iSum << endl;

	return 1;

}

좋은 웹페이지 즐겨찾기