입력된 갯수만큼 숫자를 입력받아서 그 숫자에 대한 약수 리스트를 출력하는 프로그램을 작성하고 있는데요.
소스 자체는 다 만들었는데 하나가 좀 이상해서요..
소스는
#include <stdio.h>int main(void){ int n, i, x, num; scanf("%d", &n); for(i=1;i<=n;i++){ scanf("%d", &x); printf("Divisors of %d are ", x); for(num=1;num<=x;num++){ if(x%num==0) printf("%d ", num); } printf(".\n"); } return(0);}
이거구요.
이렇게 하면 결과가 Divisors of 입력받은 숫자 are 약수 리스트.
이런 식으로 나와야 되는데요.
예를 들면 만약에 6을 입력받아서 1,2,3,6이 약수 리스트라면
Divisors of 6 are 1 2 3 6. 이렇게 .이 딱 붙어서 나와야 하는데
지금 나오는 걸로는 Divisors of 6 are 1 2 3 6 . 이렇게 띄어져서 나온다는 거지요.
물론 원인이야 제가 printf("%d ", num); 이 부분을 띄어쓰기 했으니까 당연한 거지만 띄어쓴 부분을 지우면
약수가 다 붙어서 나올테니까 안되는데...마지막 부분에는 저 .이 꼭 제대로 붙어야 하거든요.
어떻게 하면 저 .을 제대로 붙일 수 있을까요? 애초에 소스가 어딘가 잘못됐나요?