이 프로그램은 간단하지만 약간의 도움이 필요합니다. 작업은 사용자 입력을 얻고 출력이 첫 번째 문자를 한 번, 두 번째 문자를 두 번, 세 번째 문자를 세 번 인쇄해야하는 짧은 프로그램을 작성하는 것입니다.짧은 C++ 프로그램에서 입력 문자를 늘리십시오.
예를 입력 : abcd
예 출력 : abbcccdddd
이 프로그램은 간단하지만 약간의 도움이 필요합니다. 작업은 사용자 입력을 얻고 출력이 첫 번째 문자를 한 번, 두 번째 문자를 두 번, 세 번째 문자를 세 번 인쇄해야하는 짧은 프로그램을 작성하는 것입니다.짧은 C++ 프로그램에서 입력 문자를 늘리십시오.
예를 입력 : abcd
예 출력 : abbcccdddd
글쎄, 보통 난 그냥 사람들을위한 코드를 작성하지 않지만, 여기 당신이 이동이 중 하나의 문자열을 읽어
#include <iostream>
#include <string>
int main(int argc, char *argv[]) {
std::string in;
std::cin >> in;
for (int i = 0; i < in.size(); i++) {
std::cout << std::string(i + 1, in[i]); // repeat in[i] "i+1" times
}
// print newline
std::cout << "\n";
return 0;
}
표준 입력 스트림에서 입력 한 다음 모든 문자를 반복하고 문자를 i
i+1
번 출력합니다 (iterables는 C++에서 색인 0
로 시작하므로 일반적으로 문자열을 사용하는 경우). 그런 다음 개행 문자를 출력하고 종료합니다.
이중 루프가있는 간단한 솔루션입니다.
의이
[] c를라는 문자 배열을 보자 우리는
int thisMany = 0;
char c;
while(cin >> c)
{
for(int i = 0; i < thisMany; i++)
cout << c;
thisMany++;
}
대단히 감사합니다! – Teebee
같은보십시오 뭔가를 여기에 몇 가지 간단한, 최적화되지 않은 코드입니다 :
은#include <iostream>
#include <string>
int main()
{
std::string input;
// Get user input.
std::cin >> input;
// Go through each character in input string.
for(int i = 0; i < input.length(); ++i)
{
// Print the character i times.
for(int i2 = 0; i2 < i; ++i2)
{
std::cout << input[i];
}
}
// Print newline.
std::cout << std::endl;
return(0);
}
등이
for(int i=1;i<length_of_string;i++)
{
for(int j=1;j<=i;j++)
putchar(c[i]);
}
오케이. 지금까지 뭐라구? –
[답변.] (http://codegolf.stackexchange.com/q/1428/761) –
그래, 이건 숙제 다. 정말로 문제가 되기엔 너무 간단합니다. –