2014-11-25 2 views
-3

프로그램을 작성하면 사용자가 숫자를 입력 한 다음 1에서 시작하여 입력 번호^2까지 모든 완벽한 사각형을 표시합니다. 이 프로그램을 작성했지만 중첩 된 루프에 넣으라는 요청을 받았습니다. 문제는 이걸 중첩 루프 형식으로 변환 할 수 있을지 모르겠다는 것입니다. 누구든지 아이디어가 있습니까? 여기 이 코드를 중첩 루프로 바꾸기

내 프로그램은 지금까지입니다 :

int input; 
int number = 1; 
cout << "Enter a number: "; 
cin >> input; 
if(input > 1) { 
    cout << "The perfect squares are: "; 
    do { 
     cout << number*number; 
     number++; 
     input--; 
     if(input == 1) { 
      cout << " and "; } 
     else {cout << ", ";} 
    }while(input > 1); 
    cout << number*number << "."; 
} 
else if(input == 1) { 
    cout << "1"; 
} 
else { 
    cout << "None."; 
} 

답변

1

왜 중첩 루프해야합니까? 이것은 간단한 for 루프를 사용하여 수행 할 수 있습니다. 내가 특별히 중첩 루프를 사용하도록 요청 받았다

unsigned int input; 
cout << "Enter a number: "; 
cin >> input; 

unsigned int i = 1; 
while(i <= input) 
{ 
    cout << i << " squared is " << i * i << endl; 
    ++i; 
} 
+0

unsigned int input; cout << "Enter a number: "; cin >> input; for (unsigned int i = 1; i <= input; ++i) { cout << i << " squared is " << i * i << endl; } 

Working demo

while 루프 상응하는 것, 그 이유를 모르겠어요. 우리는 아직 루프를 다루지 않았습니다. 이 예제를 가져 주셔서 감사합니다! 예를 들어, 5가 입력 된 경우 출력 형식을 지정해야합니다. "1, 4, 16 및 25" –

+0

교수는 사용자가 다른 입력을 할 때까지 1 회 이상 반복되는 번호를 물어 보려고합니다. 0보다 큰 양의 정수 – drescherjm

+0

Cyber의 것처럼 while 루프를 좀 더 단순하게 변경했습니다. drescherjm이 제안한 것을 시도 할 것입니다. 도움 주셔서 감사합니다. –

관련 문제